概述
python中np.bincount()
x = np.array([1, 2, 3, 3, 0, 1, 4])
np.bincount(x)
'''
array([1, 2, 1, 2, 1], dtype=int64)
'''
统计索引出现次数:索引0出现1次,1出现2次,2出现1次,3出现2次,4出现1次
因此通过bincount计算出索引出现次数如下:
bin的数量比x中最大数多1,例如x最大为4,那么bin数量为5(index从0到4),也就是bincount输出的一维数组为5个数,bincount中的数代表的是它的索引值在x中出现的次数!
还是以上述x为例子,当我们设置weights参数时候
w = np.array([0.3,0.5,0.7,0.6,0.1,-0.9,1])
那么设置这个w权重后
np.bincount(x,weights=w)
’‘’
array([ 0.1, -0.6,
0.5,
1.3,
1. ])
‘’‘
怎么计算的?
先对x与w抽取出来:
x —> [1, 2, 3, 3, 0, 1, 4]
w —> [0.3,0.5,0.7,0.6,0.1,-0.9,1]
索引 0 出现在x中index=4位置,那么在w中访问index=4的位置即可,w[4]=0.1
索引 1 出现在x中index=0与index=5位置,那么在w中访问index=0与index=5的位置即可,然后将两这个加和,计算得:w[0]+w[5]=-0.6
其余的按照上面的方法即可!
bincount的另外一个参数为minlength,这个参数简单,可以这么理解,当所给的bin数量多于实际从x中得到的bin数量后,后面没有访问到的设置为0即可。
这里我们直接设置minlength=7参数,并输出!
np.bincount(x,weights=w,minlength=7)
’‘’
array([ 0.1, -0.6,
0.5,
1.3,
1. ,
0. ,
0. ])
‘’‘
与上面相比多了两个0,怎么回事呢?
上面知道,这个bin数量为5,index从0到4,那么当minlength为7的时候,也就是总长为7,index从0到6,多了后面两位,直接补位为0即可!
最后
以上就是美满烤鸡为你收集整理的python中np.bincount()的全部内容,希望文章能够帮你解决python中np.bincount()所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复