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比较文件夹比另一同名文件夹多出的文件并复制出来的方法
Mar 05 Python
Python函数参数类型*、**的区别
Apr 11 Python
介绍Python中的文档测试模块
Apr 28 Python
python实现bucket排序算法实例分析
May 04 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
python文件特定行插入和替换实例详解
Jul 12 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
python脚本开机自启的实现方法
Jun 28 Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
Python3操作MongoDB增册改查等方法详解
Feb 10 Python
浅谈django不使用restframework自定义接口与使用的区别
Jul 15 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
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
python实现猜数字游戏(无重复数字)示例分享
2014/03/29 Python
python中urllib模块用法实例详解
2014/11/19 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
Python 寻找局部最高点的实现
2019/12/05 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
小区门卫岗位职责
2013/12/31 职场文书
自荐信的基本格式
2014/02/22 职场文书
亲属关系公证书
2014/04/08 职场文书
公司离职证明样本
2014/09/13 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
学校推普周活动总结
2015/05/07 职场文书
班主任培训研修日志
2015/11/13 职场文书
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL