python - 从 0-d numpy 数组中恢复字典

标签 python dictionary load numpy save

发生的事情是我(错误地)使用命令 numpy.save() 保存了字典(没有显示错误消息),现在我需要恢复字典中的数据。当我用 numpy.load() 加载它时,它的类型为 (numpy.ndarray) 并且是 0-d,所以它不再是字典,我可以t 访问其中的数据,0-d 数组是不可索引的,所以做类似

mydict = numpy.load('mydict')
mydict[0]['some_key'] 

不起作用。我也试过了

recdict = dict(mydict)

但这也没有用。

为什么当我用 numpy.save() 保存字典时 numpy 没有警告我?

有没有办法恢复数据?

提前致谢!

最佳答案

使用 mydict.item() 以 Python 标量的形式获取数组元素。

>>> import numpy as np
>>> np.save('/tmp/data.npy',{'a':'Hi Mom!'})
>>> x=np.load('/tmp/data.npy')
>>> x.item()
{'a': 'Hi Mom!'}

关于python - 从 0-d numpy 数组中恢复字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8361561/

相关文章:

python - Pandas 中的相对行选择?

python - 字典中任意选择一个键,无需迭代

java - 如何将字符串拆分为包含值列表的映射?

javascript - 如何在 JavaScript 字典中存储数组的值?

performance - JMeter json路径断言响应中的json或数组

python - (hist, bin_edges) 列表的 3d 图,其中直方图条形图或线条位于 z-y 平面

python - 如何在 pandas 中生成不包含索引的 json 文件?

python - Geodjango:使用迁移将现有数据的 PolygonField 更改为 MultiPolygonField

javascript - 在 JavaScript 中加载页面

c# - 如何在 C# 中获取每个内核的 CPU 负载?