以二进制形式写入ndarray,并以正确的形状读取

2024-09-28 20:18:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Nby 6by fnumpy数组。我希望能够将其作为二进制文件编写,然后由另一个python脚本将其读取到相同维度的数组中

为了测试这一点,我执行以下操作(based on this question)

import numpy as np

farray=np.array([[3.14, 2.7, 0.0, -1.0, 1.1],[3.14, 2.7, 0.0, -1.0, 1.1]])
testf = open('test','wb')
farray.tofile(testf)
testf.close()

arraytest = np.fromfile('test')

此时arraytest.shape(10,)。我如何确保它是(2,5)而不是,而不必事先知道2和5来重塑数组?我是否可以像处理常规文本文件中的\n一样,在二进制文件中对这些信息进行编码


Tags: 文件test脚本onnp二进制数组this
1条回答
网友
1楼 · 发布于 2024-09-28 20:18:06

为什么不使用np.save&;np.load

import numpy as np
farray=np.array([[3.14, 2.7, 0.0, -1.0, 1.1],[3.14, 2.7, 0.0, -1.0, 1.1]])
np.save('nums.npy', farray)
loaded_farray = np.load('nums.npy')
print(loaded_farray)

[3.14 2.7 0.-1.1.1] [3.14 2.7 0.-1.1.1]]

相关问题 更多 >