7

我想腌制一个大的 (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.saveznumpy.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因为我想存储额外的数据。

4

1 回答 1

0

我有类似的问题。我得到的最大泡菜文件是 155Mb。如果您打算添加更多数据,我建议您使用 sqlite3 或 firebase 之类的数据库。

于 2020-02-22T19:30:37.123 回答