1、它大致说bin的数量比x中的最大值大1,每个bin给出了它的索引值在x中出现的次数。下面,我举个例子让大家更好的理解一下:

  1. # 我们可以看到x中最大的数为7,因此bin的数量为8,那么它的索引值为0->7
  2. x = np.array([0, 1, 1, 3, 2, 1, 7])
  3. # 索引0出现了1次,索引1出现了3次......索引5出现了0次......
  4. np.bincount(x)
  5. #因此,输出结果为:array([1, 3, 1, 1, 0, 0, 0, 1])
  6.  
  7. # 我们可以看到x中最大的数为7,因此bin的数量为8,那么它的索引值为0->7
  8. x = np.array([7, 6, 2, 1, 4])
  9. # 索引0出现了0次,索引1出现了1次......索引5出现了0次......
  10. np.bincount(x)
  11. #输出结果为:array([0, 1, 1, 0, 1, 0, 1, 1])

2、下面,我来解释一下weights这个参数。文档说,如果weights参数被指定,那么x会被它加权,也就是说,如果值n发现在位置i,那么out[n] += weight[i]而不是out[n] += 1.因此,我们weights的大小必须与x相同,否则报错。下面,我举个例子让大家更好的理解一下:

  1. w = np.array([0.3, 0.5, 0.2, 0.7, 1., -0.6])
  2. # 我们可以看到x中最大的数为4,因此bin的数量为5,那么它的索引值为0->4
  3. x = np.array([2, 1, 3, 4, 4, 3])
  4. # 索引0 -> 0
  5. # 索引1 -> w[1] = 0.5
  6. # 索引2 -> w[0] = 0.3
  7. # 索引3 -> w[2] + w[5] = 0.2 - 0.6 = -0.4
  8. # 索引4 -> w[3] + w[4] = 0.7 + 1 = 1.7
  9. np.bincount(x, weights=w)
  10. # 因此,输出结果为:array([ 0. , 0.5, 0.3, -0.4, 1.7])

3、最后,我们来看一下minlength这个参数。文档说,如果minlength被指定,那么输出数组中bin的数量至少为它指定的数(如果必要的话,bin的数量会更大,这取决于x)。下面,我举个例子让大家更好的理解一下:

  1. # 我们可以看到x中最大的数为3,因此bin的数量为4,那么它的索引值为0->3
  2. x = np.array([3, 2, 1, 3, 1])
  3. # 本来bin的数量为4,现在我们指定了参数为7,因此现在bin的数量为7,所以现在它的索引值为0->6
  4. np.bincount(x, minlength=7)
  5. # 因此,输出结果为:array([0, 2, 1, 2, 0, 0, 0])
  6.  
  7. # 我们可以看到x中最大的数为3,因此bin的数量为4,那么它的索引值为0->3
  8. x = np.array([3, 2, 1, 3, 1])
  9. # 本来bin的数量为4,现在我们指定了参数为1,那么它指定的数量小于原本的数量,因此这个参数失去了作用,索引值还是0->3
  10. np.bincount(x, minlength=1)
  11. # 因此,输出结果为:array([0, 2, 1, 2])

转自 https://blog.csdn.net/xlinsist/article/details/51346523

Python—numpy.bincount()的更多相关文章

  1. python numpy 的用法—— bincount

    今天看脚本的时候遇到了几个不懂的用法,记录下来供日后查看: 1.numpy bincount 先上图: 如上所示:首先要求输入的数组不能包含负数: 该函数是计算非负元素的个数,如果数组中的最大值为10 ...

  2. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  3. 在python&numpy中切片(slice)

     在python&numpy中切片(slice) 上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此.在从文本文件或数据库中读取数据后,需要对数据进行预处理的操作.此时就 ...

  4. Python numpy中矩阵的用法总结

    关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...

  5. Python NumPy学习总结

    一.NumPy简介 其官网是:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Num ...

  6. Python Numpy shape 基础用法(转自他人的博客,如涉及到侵权,请联系我)

    Python Numpy shape 基础用法 shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度.它的输入 ...

  7. [转]Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()

    Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate() 觉得有用的话,欢迎一起讨论相互学习~Follow Me ...

  8. CS231n课程笔记翻译1:Python Numpy教程

    译者注:本文智能单元首发,翻译自斯坦福CS231n课程笔记Python Numpy Tutorial,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成,Flood Sung ...

  9. 最实用windows 下python+numpy安装(转载)

    最实用windows 下python+numpy安装 如题,今天兜兜转转找了很多网站帖子,一个个环节击破,最后装好费了不少时间. 希望这个帖子能帮助有需要的人,教你一篇帖子搞定python+numpy ...

随机推荐

  1. Create React App

    Facebook开源了React前端框架(MIT Licence),也同时提供了React脚手架 - create-react-app. create-react-app遵循约定优于配置(Coc)的原 ...

  2. python视频教程大全(转载)

    python3英文视频教程(全87集) http://pan.baidu.com/s/1dDnGBvV python从入门到精通视频(全60集)链接:http://pan.baidu.com/s/1e ...

  3. spring mvc数据验证

    今天来说一下.前段验证,与后端数据验证.大家都知道.在我们.注册与登陆的时候,往往需要对数据进行效验.那么前段我们都知道,可以使用,js去做处理. 今天主要讲解.后端的数据效验.这里我们采用Hiber ...

  4. 我在面试.NET/C#程序员时会提出的问题(转载)

    转自:http://blog.zhaojie.me/2011/03/my-interview-questions-for-dotnet-programmers.html 说起来我也面试过相当数量的.N ...

  5. 写shader注意的一些报错

    1.Shader warning in 'Custom/1': Both vertex and fragment programs must be present in a CGPROGRAM. Ex ...

  6. 如何使用subversion管理iOS源代码

    本文转载至 http://2009315319.blog.51cto.com/701759/819216 使用subversion管理iOS源代码 1.安装和配置subversion服务器 在wind ...

  7. Q: Why can't I access the Site Settings of my SharePoint site? 'File Not Found'

    Q: I am trying to access the Site Settings of my SharePoint site, but I get a File Not Found error, ...

  8. java 基于tomcat的数据源案例

    1.在context中定义数据源 <?xml version="1.0" encoding="UTF-8"?> <Context path=& ...

  9. 【python】-- 进程与线程

    进程与线程 一.概念 1.简述: 计算机,所有的指令的操作都是有CPU来负责的,cpu是来负责运算的.OS(操作系统) 调度cpu的最小单位就是线程.程序启动后,从内存中分一块空间,把数据临时存在内存 ...

  10. 使用apt-get 安装后的mysql 登录问题

    当使用apt-get安装mysql后,ubuntu会自动生成一个用户名和密码.所以在第一次登陆时会报如下错误 ERROR 1045 (28000): Access denied for user 'd ...