recover dict from 0-d numpy array(从 0-d numpy 数组中恢复字典)
问题描述
发生的事情是我(错误地)使用命令 numpy.save()
保存了一个字典(没有显示错误消息),现在我需要恢复字典中的数据.当我用 numpy.load()
加载它时,它的类型为 (numpy.ndarray
) 并且是 0-d,所以它不再是字典,我可以t 访问其中的数据,0-d 数组是不可索引的,所以做类似
What happened is that I (by mistake) saved a dictionary with the command numpy.save()
(no error messages shown) and now I need to recover the data in the dictionary. When I load it with numpy.load()
it has type (numpy.ndarray
) and is 0-d, so it is not a dictionary any more and I can't access the data in it, 0-d arrays are not index-able so doing something like
mydict = numpy.load('mydict')
mydict[0]['some_key']
不起作用.我也试过了
recdict = dict(mydict)
但这也没有用.
为什么当我用 numpy.save()
保存字典时 numpy 没有警告我?
Why numpy didn't warn me when I saved the dictionary with numpy.save()
?
有没有办法恢复数据?
提前致谢!
推荐答案
使用 mydict.item()
以 Python 标量的形式获取数组元素.
Use mydict.item()
to obtain the array element as a Python scalar.
>>> import numpy as np
>>> np.save('/tmp/data.npy',{'a':'Hi Mom!'})
>>> x=np.load('/tmp/data.npy')
>>> x.item()
{'a': 'Hi Mom!'}
这篇关于从 0-d numpy 数组中恢复字典的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:从 0-d numpy 数组中恢复字典


基础教程推荐
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 筛选NumPy数组 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01