Преобразование списка строк в массив numpy более быстрым способом

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',
...

Меня интересуют первые две колонки, которые я хотел бы преобразовать в массив numpy. Пока что я придумал следующее решение:

x = N.array ([0., 0.])
for i in br:
    x = N.vstack ( (x, N.array (map (float, i.split ()[:2]))) )

В результате получился двухмерный массив:

array([[  0.,   0.],
       [ 14.,   0.],
       [ 19.,   0.],
       [ 22.,   0.],
...

Однако, так как br довольно большой (~10^5 записей), эта процедура занимает некоторое время. Мне интересно, есть ли способ получить тот же результат, но за меньшее время?

7
задан Jir 31 August 2011 в 16:09
поделиться