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 相关文章推荐
Python3实现生成随机密码的方法
Aug 23 Python
深入理解Python中的元类(metaclass)
Feb 14 Python
在Python中使用模块的教程
Apr 27 Python
Python3使用requests登录人人影视网站的方法
May 11 Python
浅谈flask中的before_request与after_request
Jan 20 Python
Python实现将数据写入netCDF4中的方法示例
Aug 30 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
Apr 25 Python
教你如何编写、保存与运行Python程序的方法
Jul 12 Python
django迁移数据库错误问题解决
Jul 29 Python
Python 测试框架unittest和pytest的优劣
Sep 26 Python
Python random模块的使用示例
Oct 10 Python
scrapy实践之翻页爬取的实现
Jan 05 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
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
JSON辅助格式化处理方法
2013/03/26 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
JavaScript显示表单内元素数量的方法
2015/04/02 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
微信小程序手动添加收货地址省市区联动
2020/05/18 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python切片用法实例教程
2014/09/08 Python
使用url_helper简化Python中Django框架的url配置教程
2015/05/30 Python
Python常用算法学习基础教程
2017/04/13 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
应届生护士求职信
2013/11/01 职场文书
工程业务员工作职责
2013/12/07 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
MySQL常用慢查询分析工具详解
2022/08/14 MySQL