python - 将dict保存为.npy格式

时间:2018-05-01 16:08:37

标签: python numpy

我有一个dict并且我将一个数组与每个键相关联(键本身就是一个数字)。

最小例子:

import numpy as np
data = {}
data[2.5] = np.array([np.array([1,2,3,4]), np.array([5,6,7,8])])

然后我保存dict

np.save('file.npy', data)

然后重新加载:

datanew = np.load('file.npy')

-

现在,为了访问每个密钥中存储的内容,我不能

datanew[2.5]

但我必须这样做

datanew[()][2.5]
  • 为什么?
  • 有没有更好的方法来保存dicts?

1 个答案:

答案 0 :(得分:4)

原因是因为np.savearr参数需要一个数组。当你通过字典时,它会将其保存为一个一个一个无量纲的字典。阵列。因此,当您加载它时,您需要首先获得'该无量纲数组中的元素(即[()])。你可以在拨打np.load时这样做,然后再也不用担心了:

datanew = np.load('file.npy')[()]

或者,因为您尝试保存字典,所以可以使用泡菜。 np.save被认为是针对数值数组进行优化的,我不知道你是否仍然可以获得它的好处,并且已经将你的数组放在字典中了...