我希望您能翻译以下内容:我想要储存一个大的numpy数组(1810392*255)。但是在储存时出现了错误。
[...]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
,因为我想存储额外的数据。
# XXX: we can probably chunk this to avoid the memory hit.
或者修改并贡献:https://github.com/numpy/numpy - Userimport numpy
f=open('file.npy','wb')
l=numpy.zeros((1810392,255))
numpy.save(f,l)
[可选:numpy.save(f,...)]
f.close()
再次打开:import numpy
f=open('file.npy','rb')
l=numpy.load(f)
[可选:m=numpy.load(f)]
f.close()
- dlangenk