pandas的qcut()方法详解


Posted in Python onJuly 06, 2019

pandas的qcut可以把一组数字按大小区间进行分区,比如

data = pd.Series([0,8,1,5,3,7,2,6,10,4,9])

比如我要把这组数据分成两部分,一半大的,一半小的,如果是小的数,值就变成'small number',大的数,值就变成'large number':

print(pd.qcut(data,[0,0.5,1],labels=['small number','large number']))
small numbers
  large numbers
  small numbers
  small numbers
  small numbers
  large numbers
  small numbers
  large numbers
  large numbers
  small numbers
  large numbers
dtype: category
Categories (2, object): [small numbers < large numbers]

qcut() 方法第一个参数是数据,第二个参数定义区间的分割方法,比如这里把数字分成两半,那就是 [0, 0.5, 1] 如果要分成4份,就是 [0, 0.25, 0.5, 0.75, 1] ,也可以不是均分,比如 [0, 0.1, 0.2, 0.3, 1] ,这就就会按照 1:1:1:7 进行分布,比如:

data = pd.Series([0,8,1,5,3,7,2,6,10,4,9])
print(pd.qcut(data,[0, 0.1, 0.2, 0.3, 1],labels=['first 10%','second 10%','third 10%','70%']))
first 10%
      70%
   first 10%
      70%
   third 10%
      70%
  second 10%
      70%
      70%
      70%
     70%
dtype: category Categories 
(4, object): [first 10% < second 10% < third 10% < 70%]

当然,这里因为数据里有11个数,没法刚好按照 1:1:1:7 分,所以 0和1,都被分到了 'first10%' 这一类.

qcut() 方法第二个参数是要替换的值,就是对应区间的值应该替换成什么值,顺序和区间保持一致就好了,注意有几个区间,就要给几个值,不能多也不能少.

qcut与cut的主要区别:

qcut:传入参数,要将数据分成多少组,即组的个数,具体的组距是由代码计算

cut:传入参数,是分组依据。具体见示例

1、qcut方法,参考链接:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.qcut.html

1).参数:pandas.qcut(x,q,labels=None,retbins=False,precision=3,duplicates='raise')

>>>x 要进行分组的数据,数据类型为一维数组,或Series对象

>>>q 组数,即要将数据分成几组,后边举例说明

>>>labels 可以理解为组标签,这里注意标签个数要和组数相等

>>>retbins 默认为False,当为False时,返回值是Categorical类型(具有value_counts()方法),为True是返回值是元组

2).举例

pandas的qcut()方法详解

2.cut方法,官网链接:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.cut.html

1).参数:pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False,duplicates='raise')

2).举例

pandas的qcut()方法详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的加密模块md5、sha、crypt使用实例
Sep 28 Python
python通过post提交数据的方法
May 06 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
python读取word 中指定位置的表格及表格数据
Oct 23 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
浅谈tensorflow中张量的提取值和赋值
Jan 19 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
Python绘制动态水球图过程详解
Jun 03 Python
python3读取autocad图形文件.py实例
Jun 05 Python
python中format函数如何使用
Jun 22 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 Python
pandas 层次化索引的实现方法
Jul 06 #Python
pandas删除行删除列增加行增加列的实现
Jul 06 #Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 #Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
Jul 06 #Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 #Python
python实现爬取百度图片的方法示例
Jul 06 #Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 #Python
You might like
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
PHP如何编写易读的代码
2007/07/10 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
深入理解JavaScript定时机制
2010/10/29 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
详解能在多种前端框架下使用的表格控件
2017/01/11 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
node中实现删除目录的几种方法
2019/06/24 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
python使用fork实现守护进程的方法
2017/11/16 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
美国校园市场:OCM
2017/06/08 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
成教自我鉴定
2013/10/27 职场文书
美工的岗位职责
2013/11/14 职场文书
师说教学反思
2014/02/07 职场文书
药剂专业求职信
2014/06/20 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android
springboot读取nacos配置文件
2022/05/20 Java/Android