Jir*_*Jir 7 python string numpy list
br 是一个字符串列表的名称,如下所示:
['14 0.000000 -- (long term 0.000000)\n',
'19 0.000000 -- (long term 0.000000)\n',
'22 0.000000 -- (long term 0.000000)\n',
...
Run Code Online (Sandbox Code Playgroud)
我对前两列感兴趣,我想将其转换为numpy数组.到目前为止,我已经提出了以下解决方案:
x = N.array ([0., 0.])
for i in br:
x = N.vstack ( (x, N.array (map (float, i.split ()[:2]))) )
Run Code Online (Sandbox Code Playgroud)
这导致具有2-D阵列:
array([[ 0., 0.],
[ 14., 0.],
[ 19., 0.],
[ 22., 0.],
...
Run Code Online (Sandbox Code Playgroud)
但是,由于br相当大(约10 ^ 5个条目),此过程需要一些时间.我想知道,有没有办法实现相同的结果,但在更短的时间内?
这对我来说要快得多:
import numpy as N
br = ['14 0.000000 -- (long term 0.000000)\n']*50000
aa = N.zeros((len(br), 2))
for i,line in enumerate(br):
al, strs = aa[i], line.split(None, 2)[:2]
al[0], al[1] = float(strs[0]), float(strs[1])
Run Code Online (Sandbox Code Playgroud)
变化:
| 归档时间: |
|
| 查看次数: |
8460 次 |
| 最近记录: |