我已将dict存储为diversity.npy。 dict结构:{key:array}。 当我使用np.load加载diversity.npy:
diver=np.load('diversity.npy').item()
print(diver)
如果环境是python27,则加载数据是正确的。但是函数对象是在python34中加载的。
<function diversity at 0x7fc0741977b8>
如何解决?
答案 0 :(得分:0)
这是Py3.5中保存的简单字典
In [157]: dd = {'x':np.array(10)}
In [158]: np.save('dd.npy', dd)
In [159]: data = np.load('dd.npy')
In [160]: data
Out[160]: array({'x': array(10)}, dtype=object)
In [161]: data.item()
Out[161]: {'x': array(10)}
它将字典包装在一个对象数组中,然后将其保存(使用字典pickle)。 item()
将字典从数组包装器中取出。
pickle
在py2
到py3
之间遇到问题。