br
在numpy的数组转换成字符串列表是一个字符串列表的那个是这样的名字:更快的方式
['14 0.000000 -- (long term 0.000000)\n',
'19 0.000000 -- (long term 0.000000)\n',
'22 0.000000 -- (long term 0.000000)\n',
...
我感兴趣的是前两列,我想转换为一个numpy数组。 到目前为止,我已经想出以下解决方案:
x = N.array ([0., 0.])
for i in br:
x = N.vstack ((x, N.array (map (float, i.split()[:2]))))
这导致成具有2- d数组:
array([[ 0., 0.],
[ 14., 0.],
[ 19., 0.],
[ 22., 0.],
...
然而,由于br
是相当大的(〜10^5条目),这个过程需要一些时间。 我想知道,有没有办法达到同样的效果,但时间更少?
aa = numpy.array([x.split('',2)[0:2] for x in br],dtype ='float') – steabert
很高兴知道'enumerate':我没有意识到它!也感谢@steabert对他的贡献。这两种解决方案的速度看起来与我很相似。 – Jir