numpy 數組的存取常用的有兩種方式:
注意: 一定要注意 tofile 和 fromfile 成對使用,不可與 load 和 save 混用,否則數組長度不一致。
- numpy.tofile() 和 numpy.fromfile():
保存爲二進制格式,但是不保存數組形狀和數據類型, 即都壓縮爲一維的數組,需要自己記錄數據的形狀,讀取的時候再reshape.
>>> import numpy
>>> a = numpy.ones((2,4))
>>> a
array([[ 1., 1., 1., 1.],
[ 1., 1., 1., 1.]])
>>> a.tofile('a.npy')
>>> b = numpy.fromfile('a.npy')
>>> b.shape
(8,)
- numpy.save() 和 numpy.load():
保存爲二進制格式,保存數組形狀和數據類型, 不需要進行reshape
>>> numpy.save('b.npy', a)
>>> b = numpy.load('b.npy')
>>> b.shape
(2, 4)
如果此時用 fromfile() 打開的話,那麼會多10個元素頭信息。
>>> b = numpy.fromfile('b.npy')
>>> b.shape
(18,)
end