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实现的jpg格式图片修复代码
Apr 21 Python
Python文件去除注释的方法
May 25 Python
Python本地与全局命名空间用法实例
Jun 16 Python
Python爬取京东的商品分类与链接
Aug 26 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 Python
python实现合并两个排序的链表
Mar 03 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
May 20 Python
Python生成并下载文件后端代码实例
Aug 31 Python
Numpy数组的广播机制的实现
Nov 03 Python
python中re模块知识点总结
Jan 17 Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
Apr 12 Python
Python实现位图分割的效果
Nov 20 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
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
Canvas实现放射线动画效果
2017/02/15 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
python基于ID3思想的决策树
2018/01/03 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
python实现五子棋小游戏
2020/03/25 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
20行python代码实现人脸识别
2019/05/05 Python
一行Python代码制作动态二维码的实现
2019/09/09 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
python如何支持并发方法详解
2020/07/25 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
毕业生自我推荐
2013/11/04 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
法学专业求职信
2014/07/15 职场文书
windows安装python超详细图文教程
2021/05/21 Python
JavaScript文档对象模型DOM
2021/11/20 Javascript