У меня есть массив массивов 3 D, который содержит элементы с повторениями.
counterTraj.shape
(13530, 1, 1
Например, counterTraj содержит такие элементы: я показал только несколько элементов:
array([[[136.]],
[[129.]],
[[130.]],
...,
[[103.]],
[[102.]],
[[101.]]])
```
Мне нужно найти частоту различных элементов: Пример: 136 считать 5 (скажем), 101 считать 12 (скажем). Элементы массива не фиксируются и изменяются вместе с входными данными. Я пытаюсь следующее:
from collections import Counter
Counter(counterTraj)
Следующая ошибка генерирует:
> TypeError Traceback (most recent
call last)
<ipython-input-408-e3584b29b0bd> in <module>()
11 counterTraj=np.vstack(counterTraj)
12 counterTraj=counterTraj.reshape(len(counterTraj),1,1)
---> 13 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'
Как найти вхождение элемента с частотой и найти элемент с наивысшей частотой?