Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字符串拆分为numpy数组_Python_Numpy - Fatal编程技术网

Python 将字符串拆分为numpy数组

Python 将字符串拆分为numpy数组,python,numpy,Python,Numpy,我正在尝试拆分此元素: '(353.0206847485174, 351.209306627799, 357.05459767397815, 351.53131418867196, 350.8487161820783, 356.76859139989006)' 到一个numpy数组。我尝试了以下方法: '(353.0206847485174, 351.209306627799, 357.05459767397815, 351.53131418867196, 350.8487161820783,

我正在尝试拆分此元素:

'(353.0206847485174, 351.209306627799, 357.05459767397815, 351.53131418867196, 350.8487161820783, 356.76859139989006)'
到一个numpy数组。我尝试了以下方法:

'(353.0206847485174, 351.209306627799, 357.05459767397815, 351.53131418867196, 350.8487161820783, 356.76859139989006)'.split(', ')
['(353.0206847485174',
 '351.209306627799',
 '357.05459767397815',
 '351.53131418867196',
 '350.8487161820783',
 '356.76859139989006)']
但我有以下几点:

'(353.0206847485174, 351.209306627799, 357.05459767397815, 351.53131418867196, 350.8487161820783, 356.76859139989006)'.split(', ')
['(353.0206847485174',
 '351.209306627799',
 '357.05459767397815',
 '351.53131418867196',
 '350.8487161820783',
 '356.76859139989006)']

所以第一个和最后一个元素仍然有列,知道如何修复吗?谢谢

我想你真的想要一个数字数组,而不是字符串数组

>>>import ast
>>>import numpy as np
>>>s = '(353.0206847485174, 351.209306627799, 357.05459767397815, 351.53131418867196, 350.8487161820783, 356.76859139989006)'
>>> np.array(ast.literal_eval(s))
array([353.02068475, 351.20930663, 357.05459767, 351.53131419,
       350.84871618, 356.7685914 ])
>>>

我想你真的想要一个数字数组,而不是字符串数组

>>>import ast
>>>import numpy as np
>>>s = '(353.0206847485174, 351.209306627799, 357.05459767397815, 351.53131418867196, 350.8487161820783, 356.76859139989006)'
>>> np.array(ast.literal_eval(s))
array([353.02068475, 351.20930663, 357.05459767, 351.53131419,
       350.84871618, 356.7685914 ])
>>>

您可以在没有任何附加依赖项的情况下执行此操作

s = '(353.0206847485174, 351.209306627799, 357.05459767397815, 351.53131418867196, 350.8487161820783, 356.76859139989006)'
nums = s.strip('(').strip(')').split(',')
numbers = [float(n.strip()) for n in nums]
这会将值作为列表提供,如果希望将其作为numpy数组,请将最后一行替换为

import numpy as np
numbers = np.array([float(n.strip()) for n in nums])

您可以在没有任何附加依赖项的情况下执行此操作

s = '(353.0206847485174, 351.209306627799, 357.05459767397815, 351.53131418867196, 350.8487161820783, 356.76859139989006)'
nums = s.strip('(').strip(')').split(',')
numbers = [float(n.strip()) for n in nums]
这会将值作为列表提供,如果希望将其作为numpy数组,请将最后一行替换为

import numpy as np
numbers = np.array([float(n.strip()) for n in nums])

您是否尝试过在拆分之前从字符串中切掉“()”?是否尝试过在拆分之前从字符串中切掉“()”?