在 numpy /中 scipy ,是否有一种 有效的 方法来获取数组中唯一值的频率计数?
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()功能)
table()
看一下np.bincount:
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]])
或者您想将计数和唯一值结合起来。