这个版本的适用前提有两个:
1. 已经看了英文版官方说明和一些其他blog并没有完全get
2. 其实是1的延伸,不懂的原因大概跟我差不多,脑力不够,俗称智障
以上任意一条不符合请不要继续,我怕你看完骂我智障。。。
好,话不多说,我就用大家都用的这个例子(我现在编辑器也用不利索,就大概打一下)
x = np.array( [ 0, 1, 1, 3, 2, 1, 7 ] )
np.bincount(x)
输出结果 array( [ 1, 3, 1,1, 0, 0, 0, 1] )
权重部分并没有什么特殊的,一个字都不会提。
这个函数的使命:一个数列,长这样,想换个方法,还能认出是它,但是主要表达频次。in short,映射
建立一个映射关系,要有对应的东西,也就是两边都能找着的,在这里就是原数列的值和新数列的indice,新数列的值就是频次啦。
如果你比我傻得更甚,那我还有一个大招:把bincount输出的结果当做原数列的频率分布直方图的纵轴数值,indice就是横轴的取值范围
由上述大招也就非常好理解这个函数的两个特性:
1. bincount输出的数列长度比原数列最大值大1
原因:数列长度跟indice相关,indice想要覆盖原数列画直方图当然要到最大值,但它开始于0(这你要问我为什么我也不会回答的),