【问题标题】:How to find the number of unique elements in a list of ndarrays?如何在 ndarrays 列表中找到唯一元素的数量?
【发布时间】:2015-06-24 14:27:35
【问题描述】:

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

谢谢!

【问题讨论】:

标签: python python-3.x numpy


【解决方案1】:

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

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

【讨论】:

  • 有效。谢谢!谁能分享一下大 l 和/或大子数组的效率(元组(v)的成本是多少?)?
猜你喜欢
  • 2012-12-05
  • 2020-02-02
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多