데이터 분석의 일반적인 작업은 주어진 데이터 세트에서 각 고유 값의 발생 빈도를 결정하는 것입니다. NumPy는 숫자 데이터 배열에 대해 이를 달성하는 여러 효율적인 방법을 제공합니다.
한 가지 접근 방식은 return_counts 매개변수가 True로 설정된 np.unique 함수를 활용하는 것입니다(NumPy 버전 1.9 이상에서 사용 가능). 이 매개변수는 고유 값뿐만 아니라 해당 개수도 반환합니다.
<code class="python">import numpy as np x = np.array([1,1,1,2,2,2,5,25,1,1]) unique, counts = np.unique(x, return_counts=True) print(np.asarray((unique, counts)).T) ''' Output: [[ 1 5] [ 2 3] [ 5 1] [25 1]] '''</code>
이 방법은 다음 타이밍 비교에서 알 수 있듯이 효율성 측면에서 scipy.stats.itemfreq보다 성능이 뛰어납니다.
<code class="python">import numpy as np import scipy.stats x = np.random.random_integers(0,100,1e6) %timeit unique, counts = np.unique(x, return_counts=True) 10 loops, best of 3: 31.5 ms per loop %timeit scipy.stats.itemfreq(x) 10 loops, best of 3: 170 ms per loop</code>
위 내용은 **NumPy 배열에서 고유 값의 빈도를 효율적으로 계산하려면 어떻게 해야 합니까?**의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!