以二进制格式保存后,Python数组大小加倍

时间:2015-05-08 15:22:04

标签: python numpy

我将数据存储在一个大小为(4320,2160)的数组中,从长度为4320 * 2160的列表中重新整形。当我使用numpy的tofile方法以二进制格式保存文件,然后打开文件时,我注意到数组的长度是双倍的。如何获取数组的原始值?我假设它与字节序有关,但我不熟悉处理它。

cdom=np.reshape(cdom, (4320,2160), order='F') # array of float values
len(cdom) # 4320*2160
cdom.tofile(filename)

arr = np.fromfile(filename, dtype=np.float32)
len(arr) # double the size of cdom: 2*4320*2160

1 个答案:

答案 0 :(得分:2)

看起来cdom的类型为np.float64,您正在将二进制文件读为np.float32,因此长度加倍(并且值实际上是垃圾)。