我有一个三维numpy数组,它包含有重复的元素。
counterTraj.shape
(13530, 1, 1
例如counterTraj包含这样的元素:我只显示了几个元素:
array([[[136.]],
[[129.]],
[[130.]],
...,
[[103.]],
[[102.]],
[[101.]]])
```
我需要找到不同元素的频率:例如:136计数5(假设),101计数12(假设)。数组元素不是固定的,并且随输入数据而变化。我试着:
from collections import Counter
Counter(counterTraj)
产生以下错误:
/usr/lib/python3.6/collections/__init__.py in __init__(*args, **kwds) 533 raise TypeError('expected at most 1 arguments, got %d' % len(args)) 534 super(Counter, self).__init__() --> 535 self.update(*args, **kwds) 536 537 def __missing__(self, key): /usr/lib/python3.6/collections/__init__.py in update(*args, **kwds) 620 super(Counter, self).update(iterable) # fast path when counter is empty 621 else: --> 622 _count_elements(self, iterable) 623 if kwds: 624 self.update(kwds) TypeError: unhashable type: 'numpy.ndarray'
如何找到频率元素的出现,找到频率最高的元素?在
将^{} 与
return_counts=True
参数一起使用,这将返回数组中每个元素的计数。在要仅选择出现在特定频率阈值以上的元素,可以使用:
^{pr2}$相关问题 更多 >
编程相关推荐