我将数据存储在一个大小为(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
答案 0 :(得分:2)
看起来cdom
的类型为np.float64
,您正在将二进制文件读为np.float32
,因此长度加倍(并且值实际上是垃圾)。