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