【发布时间】:2018-01-06 04:12:46
【问题描述】:
我有以下数组:
array([ list(['4.224609607748e+00', '4.085857782359e+00', '1.273383604708e+00', '-6.802974691818e-03']),
list(['9.099528133406e-03', '6.867550219273e-03', '5.859231188647e-03', '3.684441849425e-03']),
list(['5.836775773317e-04', '-2.316776085880e-16', '-1.456850991492e-16', '-2.307897076406e-17']),
list(['4.140895678156e-03', '2.603906355541e-03', '4.125025757803e-04', '-1.739011495381e-03']),
list(['-1.681896173898e-03', '-5.241735641835e-04', '-1.739011375813e-03', '-1.681896058258e-03']), dtype=object)
我想对其进行修改,使其不再是一个由 6 个列表组成的数组,而是一个形状为 (6,4) 的数组(即每个浮点数都是数组中的一个元素)。我还想将 dtype 更改为 float (我不能这样做,因为它不会将列表识别为浮点数)。
有没有办法可以做到这一点?
谢谢!
【问题讨论】:
-
但是最后一行只有一个字符串?
-
这是不可能的。您的列表是一个参差不齐的数组。
-
即使我删除了最后一行?
-
numpy自动将非不规则列表转换为ndarray。如果您想要floats,那么只需更改dtype=np.float。
标签: python arrays python-2.7