通过numpy.copy复制字典。现在是ndarray;如何恢复原始字典?

时间:2014-12-03 19:47:46

标签: python numpy dictionary

这肯定是一个愚蠢的错误,因为我不知道dict.copy功能。问题是我有一个充满数据的字典,比如x,我通过y复制到另一个变量,比如说y=numpy.copy(x)。事情是,后来我保存了变量y并将其写入了一个pickle(我重复了几次,编写了几个文件;这是一个非常长的模拟的一部分!)。现在,当我打开泡菜时,我得到一个ndarray对象,其中包含我的字典但在ndarray对象内,我不知道如何使用原始数据检索原始字典。一个工作的例子:

import numpy
x = {'a':[1,2,3], 'b':['foo','bar']}
y = numpy.copy(x)

我尝试了许多没有成功的事情;实际上是否有办法从新变量x中检索原始字典y

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

在我的测试中y.tolist()以某种方式给出了原始的词典。也许试试:)

我可能从this question获得了一些更明智的方法:

y[()]

y.item()

答案 1 :(得分:1)

一种方式:

d = y.ravel()[0]
d.keys()

给出

['a', 'b']