python - 用密钥保存数据为 npz
问题描述
我有一个矩阵A
,我需要将它保存为一个文件,并用密钥npz
标记。height
我怎样才能做到这一点?
npz
在我使用以下代码时保存随机矩阵:
import numpy as np
Test_matrix = np.random.rand(10,10)
np.savez('Matrix.npz', Test_matrix)
但是,如果我加载文件并查找height
,则什么也找不到:
M = np.load('Matrix.npz')
MM = M['height'].reshape(512,512)
给出错误'height is not a file in the archive'
解决方案
就像评论说的那样,你永远不会说savez
你想称之为“高度”。您可以通过将密钥传递为**kwds
. 如果您遇到问题,请务必检查文档以了解任何给定的功能。
你也不能重塑 a (10,10)
,(512,512)
所以我在这里解决了这个问题:
import numpy as np
Test_matrix = np.random.rand(512,512)
np.savez('Matrix.npz', height=Test_matrix)
M = np.load('Matrix.npz')
MM = M['height'].reshape(512,512)
print(MM.shape)
(512, 512)
编辑:根据您的评论澄清,您传递给的关键字savez
不必与对象的名称匹配。我上面做的方式应该适合你。
推荐阅读
- c# - 如何高效地将大型二维数组写入 CSV 文件
- google-play-console - google play 控制台上的 android.app.RemoteServiceException
- qt - 为什么 IntValidator 的底部在 QT 中不起作用?
- javascript - 如何在弹出式传单中添加文本和图表?
- python - 如何将图像列表转换为 Pytorch 张量
- visual-studio-code - 语言服务器 onCompletion 只听字母 [az],如何启用句点 (.)
- python - How to remove duplicate lines in two large text files by number of appearance?
- java - 线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:索引 0 超出长度 0 的范围
- bash - 在 azure devops 管道 docker build 任务中将文件内容作为构建参数传递
- latex - LATEX算法包