我想腌制一个大型(1810392 * 255)的numpy数组。但是,当我腌制时出现错误:
[...]error: 'i' format requires -2147483648 <= number <= 2147483647
代码:
import numpy
import pickle
l=numpy.zeros((1810392,255))
f=open('file.pkl','wb')
pickle.dump(l,f,2)
是否有尺寸限制?有解决方法吗?如果没有必要,我不想使用hdf5或python中没有的东西。
我也尝试过numpy.savez
和numpy.savez_compressed
。代码:
import numpy
l=numpy.zeros((1810392,255))
numpy.savez_compressed('file.npz',l)
保存有效,但是当我尝试加载数据时出现错误。代码:
import numpy
l=numpy.load('file.npz')
l['arr_0']
因为我想存储其他数据,所以我需要使用numpy.savez
而不是numpy.save
。
我也遇到类似的问题。我得到的最大泡菜文件是155Mb。如果您打算添加更多数据,建议您使用sqlite3或firebase之类的数据库。