python - Numpy 无法正确恢复维度(tofile 和 fromfile 调用)

标签 python numpy

我正在尝试从文件保存和恢复

arr.tofile("saved_arr.npy", sep=" ") #shape is (4, 5000, 5000)
arr = np.fromfile("saved_arr.npy") #shape is (278564007, )

如何正确恢复 (4, 5000, 5000) 形状的 ndarray?

谢谢

最佳答案

我假设您没有使用 numpy.savenumpy.load因为您需要将输出写入文本文件。这些方法按原样恢复 NumPy 数组的维度。如果您使用tofilefromfile ,它们以 C 顺序写入输出,这意味着它默认将数据一次一行地分解为一维数组。您需要调用 numpy.reshape数组上的方法将其恢复到所需的尺寸。另外,请确保指定正确的分隔符。您在 fromfile 调用中省略了这一点,这意味着该文件应被视为二进制文件。

如果您必须使用这些方法,请尝试:

arr.tofile("saved_arr.npy", sep=" ")
arr = np.fromfile("saved_arr.npy", sep=" ").reshape((4, 5000, 5000))

关于python - Numpy 无法正确恢复维度(tofile 和 fromfile 调用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55364593/

相关文章:

python - while 循环无条件工作

python - 清除 tkinter 输入小部件中的文本

python - 为不同大小的数组自动填充 np.nan

python - Python List List 切片列表

python - "Windows Error: provider DLL failed to initialize correctly"在卡住的 wxpython 应用程序中导入 cgi 模块

java - Cython/Jython 是一种独立的语言吗?

python - numpy 标准差给出的结果与 scipy stats 标准差不同

python - 使用特定列绘制二维 NumPy 数组

python - Pandas 中的一致性表(每行对的每行之间的 Pearson 相关性)

python - 基本的Python + C集成