将一个numpy数组映射到一个double(不可散列的类型:'numpy.ndarray')

时间:2018-07-24 13:17:15

标签: python arrays numpy dictionary

我有一个numpy数组

xCoord = 25
yCoord = 35
xEntent = 5
yExtent = 8

np.array((xCoord, yCoord, xCoord+xEntent,yCoord+yExtent))

我想将其映射到一个值

confidence = 3.25

confidence_map = {}

confidence_map[np.array((xCoord, yCoord, xCoord+xEntent,yCoord+yExtent))] = confidence

当我尝试执行此操作时,它显示“ unhashable type:'numpy.ndarray'”错误

如何将这个numpy数组映射到该值? 没有字典,还有其他方法可以映射吗?

1 个答案:

答案 0 :(得分:0)

字典仅接受不可变的对象作为键。由于您的np.array看起来很简单,您可以将其转换为元组。

  confidence_map[tuple(my_array)] = confidence_value

但是,请注意将数组插入dict之后,数组中的值不要更改,否则您将获得过时的置信度值