2017-07-30 60 views
2

我有以下的数组:如何重新整形列表数组?

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(我无法做到,因为它不会将列表识别为浮动)。

有没有办法可以做到这一点?

谢谢!

+1

,但最后一排只有一个字符串? –

+1

这是不可能的。您的列表是一个粗糙的数组。 –

+0

即使我删除最后一行? – pennypeat

回答

1

你只需要:

a = np.asarray([list(map(float, item)) for item in a]) 
+0

嗯,这似乎不工作。形状仍然是一样的。 – pennypeat

+0

怎么回事?我在删除最后一行后进行测试,最终形状正好是(5,3)。 – logen

+0

哦,对不起,你是对的!非常感谢! – pennypeat