如何在ndarrays列表中找到唯一元素的数量?

时间:2015-06-23 21:43:48

标签: python python-3.x numpy

我有list ndarray个,我想在其中找到唯一ndarrays的数量。

例如:

l = [ np.array([1,2,3]), np.array([2,3,4]), np.array([1,2,3]) ]
l
=> [array([1, 2, 3]), array([2, 3, 4]), np.array([1,2,3])]

np.unique(l) expected outcome:
=> [array([1, 2, 3]), array([2, 3, 4])]

当我尝试使用np.unique()时,我得到TypeError: unhashable type: 'numpy.ndarray'

有人能建议一种有效的方法吗? (我可以使用map,从数组计算一些哈希值并在其上运行up.unique,但我想知道是否有更好的方法。)

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以将数组转换为元组:

 len(set([tuple(v) for v in l]))