【发布时间】:2018-11-03 21:02:28
【问题描述】:
我将 2 个 Numpy 数组保存为字典。
当我从二进制文件加载数据时,我得到另一个ndarray。我可以将加载的 Numpy 数组用作字典吗?
这是我的代码和脚本的输出:
import numpy as np
x = np.arange(10)
y = np.array([100, 101, 102, 103, 104, 105, 106, 107])
z = {'X': x, 'Y': y}
np.save('./data.npy', z)
z1 = np.load('./data.npy')
print(type(z1))
print(z1)
print(z1['X']) #this line will generate an error
输出:{'X': array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), 'Y': array([100, 101, 102, 103, 104, 105, 106, 107])}
【问题讨论】:
-
我使用
pickle来保存字典。真的很容易使用 -
...什么错误?
-
您是否注意到在生成错误时您使用了大写 Z 而不是 z?
-
np.save保存数组。如果给定其他结构,它首先将其包装在对象 dtype 数组中。pickle可以直接保存字典,并在内部使用save来写入数组。其实save使用pickle来处理保存的字典部分。
标签: python arrays numpy dictionary