Python 使用Numpy计算元素范围

Python 使用Numpy计算元素范围,python,numpy,Python,Numpy,返回 np.unique([1, 3, 0, 3, 1, 1], return_counts=True) 它排除了缺少的元素,在本例中为2 是否有一种简单有效的方法获取所有计数,例如: (array([0, 1, 3]), array([1, 3, 2])) ?您可以使用,将数组中最大值加1的minlength传递给它: ar=np.array([1,3,0,3,1,1]) np.bincount(ar,minlength=np.amax(ar)+1) #数组([1,3,0,2],dtype

返回

np.unique([1, 3, 0, 3, 1, 1], return_counts=True)
它排除了缺少的元素,在本例中为
2

是否有一种简单有效的方法获取所有计数,例如:

(array([0, 1, 3]), array([1, 3, 2]))

您可以使用,将数组中最大值加1的
minlength
传递给它:

ar=np.array([1,3,0,3,1,1])
np.bincount(ar,minlength=np.amax(ar)+1)
#数组([1,3,0,2],dtype=int64)
您可以使用,将数组中最大值加1的
minlength
传递给它:

ar=np.array([1,3,0,3,1,1])
np.bincount(ar,minlength=np.amax(ar)+1)
#数组([1,3,0,2],dtype=int64)

您可以使用
np.add.at

count(ar=[1, 3, 0, 3, 1, 1], from=0, to=4) # returns [1, 3, 0, 2]
计数中的输出:

ar = np.array([1, 3, 0, 3, 1, 1])
count = np.zeros(np.amax(ar)+1)
np.add.at(count, ar, 1)

但是使用
np.bincount
会快得多

您可以使用
np.add.at

count(ar=[1, 3, 0, 3, 1, 1], from=0, to=4) # returns [1, 3, 0, 2]
计数中的输出:

ar = np.array([1, 3, 0, 3, 1, 1])
count = np.zeros(np.amax(ar)+1)
np.add.at(count, ar, 1)
但是使用
np.bincount
会快得多