본문 바로가기
Python/Python FAQ

Python 특정 항목이 ndarray에서 몇 번 발생하는지 어떻게 세나요?, How do I count the occurrence of a certain item in an ndarray?

by 베타코드 2023. 9. 10.
반응형

질문


다음 배열에서 01의 개수를 어떻게 세나요?

y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])

y.count(0)은 다음을 반환합니다:

numpy.ndarray 객체에는 count 속성이 없습니다.


답변


numpy.unique를 사용하여:

import numpy
a = numpy.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4])
unique, counts = numpy.unique(a, return_counts=True)

>>> dict(zip(unique, counts))
{0: 7, 1: 4, 2: 1, 3: 2, 4: 1}

Non-numpy 방법으로 collections.Counter를 사용하여:

import collections, numpy
a = numpy.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4])
counter = collections.Counter(a)

>>> counter
Counter({0: 7, 1: 4, 3: 2, 2: 1, 4: 1})
반응형

댓글