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之使用Python查询更新数据库
Nov 25 Python
使用python在本地电脑上快速处理数据
Jun 22 Python
Python数据操作方法封装类实例
Jun 23 Python
PyQt5每天必学之进度条效果
Apr 19 Python
Python3简单实现串口通信的方法
Jun 12 Python
python通过http下载文件的方法详解
Jul 26 Python
详解Django admin高级用法
Nov 06 Python
Python面向对象封装操作案例详解 II
Jan 02 Python
150行Python代码实现带界面的数独游戏
Apr 04 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
Jan 21 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 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生成静态html文件的三种方法
2013/06/18 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
js函数般调用正则
2008/04/08 Javascript
提高网站信任度的技巧
2008/10/17 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
js实现简单扫雷
2020/11/27 Javascript
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
护士专业推荐信
2013/11/02 职场文书
八一建军节感言
2014/02/28 职场文书
保护野生动物倡议书
2014/05/16 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
十岁生日答谢词
2015/01/05 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
python3实现无权最短路径的方法
2021/05/12 Python
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers