np.bincount() 索引用法
主要作用
统计输入的数组中的每个值在非负整数数组中出现的次数说明:
语法:
np.bincount(x, weights=None, minlength=None)
案例如下:
import numpy as np# 我们可以看到x中最大的数为7,因此bin的数量为7,那么它的索引值为0->7,与数组长度无关
x1 = np.array( [0, 1, 1, 3, 2, 1, 7,1,2,0,1,4] )
# 索引0出现了2次,索引1出现了5次,索引2出现了2次,......索引7出现了1次
np.bincount(x1)
print(np.bincount(x1))# 因此,输出结果为:array([2 5 2 1 1 0 0 1])# 我们可以看到x中最大的数为7,因此bin的数量为8,那么它的索引值为0->7x2 = np.array([7, 6, 2, 1, 4,7,9,8,6,4,5])
# 索引0出现了0次,索引1出现了1次,索引2出现了1次,......索引6和7各出现了1次
print(np.bincount(x2))
# 所以,输出结果:[0 1 1 0 2 1 2 2 1 1]
作如下修改,本来的x1参数bin的数量为7,现在我们指定了参数为20,那么它指定的数量大于原本的数量,因此这个参数作用,索引值还是0->19则,
print(np.bincount(x1,weights=x1, minlength=20))
结果如下:
[0. 5. 4. 3. 4. 0. 0. 7. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
若结果minlength=5,则不改变结果输出:
[0. 5. 4. 3. 4. 0. 0. 7.]
另外的,设定参数时候要保证长度一样,否则报错
print(np.bincount(x2,weights=x1, minlength=5))##The weights and list don’t have the same length。
注意一下。