【发布时间】:2014-11-15 10:37:01
【问题描述】:
我有一个浮点数列表,我想知道其中有多少重复项。
我试过这个:
p = t_gw.p(sma, m1, m2) #p is a 1d numpy array
p_list = list(p)
dup = set([x for x in p_list if p_list.count(x) > 1])
print dup
我也尝试过使用 collections.counter,但总是遇到同样的错误
TypeError: unhashable type: 'numpy.ndarray'
我已经查看了类似的问题,但我无法理解 hashable 的含义、为什么列表(或 numpy 数组)不可哈希以及我应该使用哪种类型。
【问题讨论】:
-
您将一个或多个 numpy 数组包装在一个列表中,然后进行列表理解,然后将剩余的 numpy 数组包装在一个集合中。要包装在一个集合中,您必须具有可散列的项目。 numpy 数组不是。
-
@unixer 不是重复的,这个是 numpy 特有的。
标签: python numpy count hashable