今天看了个方法,numpy.bincount首先官网文档:

numpy.bincount

numpy.bincount(xweights=Noneminlength=0)

Count number of occurrences of each value in array of non-negative ints.

The number of bins (of size 1) is one larger than the largest value in x. If minlength is specified, there will be at least this number of bins in the output array (though it will be longer if necessary, depending on the contents of x). Each bin gives the number of occurrences of its index value in x. If weights is specified the input array is weighted by it, i.e. if a value n is found at position iout[n] += weight[i] instead of out[n] += 1.

Parameters:
x : array_like, 1 dimension, nonnegative ints

Input array.

weights : array_like, optional

Weights, array of the same shape as x.

minlength : int, optional

A minimum number of bins for the output array.

New in version 1.6.0.

Returns:
out : ndarray of ints

The result of binning the input array. The length of out is equal to np.amax(x)+1.

Raises:
ValueError

If the input is not 1-dimensional, or contains elements with negative values, or if minlength is negative.

TypeError

If the type of the input is float or complex.

大意思是:  一脸懵逼好吧,统计bin在x出现的次数,what is bin?长度是x中最大值的+1,也看了一些博客,有些是这样写的:

仔细看了看这个例子,还是没看懂,难道是我智商有问题?索引值0->7  哪里看出来的?官网文档也没说呀

索引0出现1次?x的索引0上数字是0,缺失出现了1次,1出现3次对的,后面索引2也是1应该也是3呀 什么鬼?怎么结果是1???

最终,我发现了到底是怎么统计的了,这个函数要求x里面的数字是非负正数是有道理的,

函数返回的是固定的array[0, 1, 2, 3, ... , N]这个数据对应数字在该数组x中出现的次数。

那么我们来验证一下经典的例子:

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

第一个是看0在x中出现几次,1次;

1出现几次,3次;

2出现几次,1次;

3出现几次,1次;

4出现几次,0次;

5出现几次,0次;

6出现几次,0次;

7出现几次,1次

结果:

np.bincount(x)

array([0, 1, 1, 0, 1, 0, 1, 1])

完美,再试一个?

也是对的,为啥要长度的最大值加一呢,显然是这里从0开始计算出现次数的,所以最后一个是最大值,数组长度要加1了。

另外一个验证方式,z的数字求和肯定和np.bincount(z).dot(np.arange(max(z)+1))相等

至于其它参数就不介绍了。

numpy.bincount正确理解的更多相关文章

  1. numpy.bincount()

    numpy.bincount详解 numpy.bincount(x, weights=None,minlength=0) 参数中要求x是一个array_like,一维的并且包含非负整数. In [19 ...

  2. Js位置与大小(1)——正确理解和运用与尺寸大小相关的DOM属性

    在web开发中,不可避免遇到要计算元素大小以及位置的问题,解决这类问题的方法是利用DOM提供的一些API结合兼容性处理来,所有内容大概分3篇左右的文章的来说明.本文作为第一篇,介绍DOM提供的与尺寸大 ...

  3. 【转】正确理解PHP程序编译时的错误信息

    我们编写程序时,无论怎样小心谨慎,犯错总是在所难免的.这些错误通常会迷惑PHP编译器.如果开发人员无法了解编译器报错信息的含义,那么这些错误信息不仅毫无用处,还会常常让人感到沮丧. 编译PHP脚本时, ...

  4. 如何正确理解正则表达式中的分隔符 \b

    前言:好久不见,博客园. 最近在学习研究regex,其中有个特迷惑自己的知识点是分隔符 ( word boundary) [\b] (注:为了方便,后文都以[]来包含字符,并不是reg规则里面的[] ...

  5. Java进阶(七)正确理解Thread Local的原理与适用场景

    原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...

  6. IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理

    1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以“人”为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是整个IM系统都是以长 ...

  7. IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

    1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我 ...

  8. 正确理解CAP定理

    前言 CAP的理解我也看了很多书籍,也看了不少同行的博文,基本每个人的理解都不一样,而布鲁尔教授得定义又太过的简单,没有具体描述和场景案例分析.因此自己参考部分资料梳理了一篇与大家互相分享一下. 标题 ...

  9. 正确理解 LEAL (Load Effective Address) 指令

    LEAL: leal S, D    ->    D ← &S 在 CSAPP (Computer Systems: A Programmer’s Perspective) 中,对 LE ...

随机推荐

  1. Java.util.Calendar类

    Java.util.Calendar类 package myProject; import java.text.SimpleDateFormat; import java.util.Calendar; ...

  2. [Linux] Ubuntu18.04 安装之后配置过程

    前言  最终还是安装了Ubuntu 虽然一开始想用Deepin 但是死活安装不上,我也很绝望(引导一直找不到 恢复BIOS默认设置也还是不行 所以 有些绝望啊....)  所以 为了让以后的我不再那么 ...

  3. JS table新增一行的时候 如何在新增的这一行把样式也加进去 例如变成<tr class="trd0">

      JS table新增一行的时候 如何在新增的这一行把样式也加进去 例如变成<tr class="trd0">5 JS: var tab = document.get ...

  4. mysql基本约定与命名规范

    一.约定 1.如无特殊需求,所有表使用innodb引擎 2.如无特殊需求,所有主键均为自增类型 3.如无特殊需求,所有字段均为NOT NULL,并给定默认值 4.所有字段均设置备注,枚举字段需要说明每 ...

  5. Redis 基本数据类型以及相应操作

    〇.常用命令 select <num> 选择库0~15 默认0号库 key * 查看当前库所有键(可以接正则表达式) exists <key> type <key> ...

  6. window10 上的mysql8.0.13的数据库服务丢失后,找回方法

    1.由于mysql8 的 话是默认有一个配置文件的,所以在执行 初始化mysql8 mysqld --initialize #执行这个的原因是:因为之前使用的是Mysql8中自带的那个默认的配置文件 ...

  7. set_set_switching_activity

    set_switching_activity  -static   0.2   -toggle_rate   20 -period  1000 [all_inputs] 这时,翻转率设置的节点是输入, ...

  8. WPF学习笔记一之布局

    1.Canvas 布局控件Canvas主要用来画图,注意Canvas.Left/Right/Top/Bottom <Canvas Margin="10,10,10,10" B ...

  9. Docker on startup: “No activity detected on VM, aborting”

    windows下安装的docker,切换到linux,一直处于重启中,最后报No activity detected on VM, aborting错误 上网百度一下这个错误,基本上没人遇到过,最后在 ...

  10. Codeforces 1204D2. Kirk and a Binary String (hard version) (dp思路)

    题目链接:http://codeforces.com/contest/1204/problem/D2 题目是给定一个01字符串,让你尽可能多地改变1变为0,但是要保证新的字符串,对任意的L,R使得Sl ...