Эффективный способ подсчета уникальных элементов в массиве в numpy / scipy в Python

у меня есть массив scipy, например

a = array([[0, 0, 1], [1, 1, 1], [1, 1, 1], [1, 0, 1]])

Я хочу подсчитать количество появлений каждого уникального элемента в массиве. Например, для указанного выше массива a я хочу выяснить, что существует 1 вхождение [0, 0, 1], 2 вхождения [1, 1, 1] и 1 вхождение [1, 0, 1].

Я подумал, что это можно сделать так:

from collections import defaultdict
d = defaultdict(int)

for elt in a:
  d[elt] += 1

есть ли лучший / более эффективный способ?

спасибо.

16
задан 27 October 2010 в 20:12
поделиться