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中yield生成器的用法
Aug 05 Python
Python中文分词实现方法(安装pymmseg)
Jun 14 Python
Python自定义类的数组排序实现代码
Aug 28 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
TensorFlow saver指定变量的存取
Mar 10 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
python使用numpy读取、保存txt数据的实例
Oct 14 Python
python处理两种分隔符的数据集方法
Dec 12 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
Nov 11 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 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准确取得服务器IP地址的方法
2015/06/02 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
jQuery 学习 几种常用方法
2009/06/11 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
JS实现简洁、全兼容的拖动层实例
2015/05/13 Javascript
javascript去掉代码里面的注释
2015/07/24 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
Python简单连接MongoDB数据库的方法
2016/03/15 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
对python的文件内注释 help注释方法
2018/05/23 Python
详解python之协程gevent模块
2018/06/14 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
python实现银行账户系统
2021/02/22 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
Yahoo-PHP面试题4
2012/05/05 面试题
写出SQL四条最基本的数据操作语句(DML)
2012/12/12 面试题
舞蹈教育学专业推荐信
2013/11/27 职场文书
绿色出行口号
2014/06/18 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
初二学生评语大全
2014/12/26 职场文书
公司禁烟通知
2015/04/23 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
公司业务员管理制度
2015/08/05 职场文书
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL