在python3中加载.npy文件时返回的函数

时间:2017-03-03 13:34:33

标签: python numpy python-3.4

我已将dict存储为diversity.npy。 dict结构:{key:array}。 当我使用np.load加载diversity.npy:

diver=np.load('diversity.npy').item()
print(diver)

如果环境是python27,则加载数据是正确的。但是函数对象是在python34中加载的。

<function diversity at 0x7fc0741977b8>

如何解决?

1 个答案:

答案 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()将字典从数组包装器中取出。

picklepy2py3之间遇到问题。