在 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]])
或者你想结合计数和唯一值。
关于python - numpy:数组中唯一值的最有效频率计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10741346/