文件预分配的Numpy数组?

时间:2011-07-07 19:59:35

标签: python arrays performance numpy memory-management

我有一组大的ascii数据文件,我需要进入一个numpy数组。从大到大,我的意思是390行,其中每行是由空格分隔的60,000个值(从C ++程序以高精度输出的双值)。

目前我正在使用以下(天真)代码:

import numpy as np
data_array = np.genfromtxt('l_sim_s_data.txt')

然而,这需要超过25秒才能运行。我怀疑这是因为在读取值之前没有预先分配data_array。有没有办法告诉genfromtxt它正在制作的数组的大小(所以内存将被预先分配)?或者有没有人知道如何加快这个过程?

1 个答案:

答案 0 :(得分:3)

你试过np.loadtxt吗?

genfromtxt是一个更高级的文件加载器,它处理丢失值和格式转换器之类的事情。)