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
会快得多