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

4

1 に答える 1