繁体   English   中英

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

[英]How to find the number of unique elements in a list of ndarrays?

我有一个ndarraylist ,我想在其中找到唯一的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上运行up.unique ,但是我想知道是否有更好的方法。)

谢谢!

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM