1. ホーム
  2. パイソン

[解決済み】numpy:配列内のユニークな値に対する最も効率的な頻度カウント

2022-03-28 03:03:39

質問

numpy / scipy はあるのでしょうか? 効率的 配列中のユニークな値の頻度カウントを取得する方法は?

こんな感じのものです。

x = array( [1,1,1,2,2,2,5,25,1,1] )
y = freq_count( x )
print y

>> [[1, 5], [2,3], [5,1], [25,1]]

( R ユーザーの皆さんは、基本的に、私が探しているのは table() 関数 )

解決方法は?

をご覧ください。 np.bincount :

http://docs.scipy.org/doc/numpy/reference/generated/numpy.bincount.html

import numpy as np
x = np.array([1,1,1,2,2,2,5,25,1,1])
y = np.bincount(x)
ii = np.nonzero(y)[0]

そして

zip(ii,y[ii]) 
# [(1, 5), (2, 3), (5, 1), (25, 1)]

または

np.vstack((ii,y[ii])).T
# array([[ 1,  5],
         [ 2,  3],
         [ 5,  1],
         [25,  1]])

または、カウントとユニーク値をどのように組み合わせるかです。