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中查找excel某一列的重复数据 剔除之后打印
Feb 10 Python
python调用java的Webservice示例
Mar 10 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
python操作mysql代码总结
Jun 01 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
python求绝对值的三种方法小结
Dec 04 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
python中判断文件结束符的具体方法
Aug 04 Python
python 匿名函数与三元运算学习笔记
Oct 23 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 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
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
PHP实现用户登录的案例代码
2018/05/10 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
JS实现新建文件夹功能
2017/06/17 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
解决vue打包 npm run build-test突然不动了的问题
2020/11/13 Javascript
python根据文件大小打log日志
2014/10/09 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
学习Python列表的基础知识汇总
2020/03/10 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
挪威手表购物网站:Klokker
2016/09/19 全球购物
毕业生自荐信
2013/12/14 职场文书
自动化专业职业生涯规划书范文
2014/01/16 职场文书
党员干部承诺书
2014/03/25 职场文书
公务员保密承诺书
2014/03/27 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
财务管理制度范本
2015/08/04 职场文书
初一语文教学反思
2016/03/03 职场文书
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android