Python中numpy.bincount()的用法

Posted by AspenStars on April 30, 2020

本文参考了Python的官方文档,主要是对常用方法进行分析,并对注意事项进行记录

numpy.bincount

作用

统计非负整型数组中每个元素的出现次数 返回一个结果数组,结果数组的索引$i$代表要统计数组的值,结果数组的值代表$i$出现的次数 Note:输入数组只能是非负整数,权重可以是小数,但shape要相同

函数原型

1
numpy.bincount(x, weights=None, minlength=0)

参数

  • x:一维非负整型数组
  • weights:(可选)与xshape相同,用来代表对应位置的权重
  • minlength:(可选)输出结果的最小长度(实际长度可以超过这个值,但绝不低于)

返回值

返回一个结果数组,结果数组的索引$i$代表要统计数组的值,结果数组的值代表$i$出现的次数

结果数组的长度是[x中最大值+1] or [minlength]中的最大值

举例

1
2
3
np.bincount(np.array([0, 1, 1, 3, 2, 1, 7]))

out: array([1, 3, 1, 1, 0, 0, 0, 1])
1
2
np.bincount(np.array([1, 1, 3, 2, 1, 7]))
out: array([0, 3, 1, 1, 0, 0, 0, 1])
1
2
np.bincount(np.array([1, 1, 3, 2, 1, 7]), minlength=10)
out: array([0, 3, 1, 1, 0, 0, 0, 1, 0, 0])
1
2
3
4
w = np.array([0.3, 0.5, 0.2, 0.7, 1., -0.6]) # weights
x = np.array([0, 1, 1, 2, 2, 2])
np.bincount(x,  weights=w)
out: array([ 0.3,  0.7,  1.1])