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中的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
python dict.get()和dict['key']的区别详解
Jun 30 Python
Python科学画图代码分享
Nov 29 Python
记一次python 内存泄漏问题及解决过程
Nov 29 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
numpy实现神经网络反向传播算法的步骤
Dec 24 Python
Python Pickle 实现在同一个文件中序列化多个对象
Dec 30 Python
Python通过socketserver处理多个链接
Mar 18 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
解决Keras 中加入lambda层无法正常载入模型问题
Jun 16 Python
python实现每天自动签到领积分的示例代码
Aug 18 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 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 a simple smtp class
2007/11/26 PHP
PHP的博客ping服务代码
2012/02/04 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
ext监听事件方法[初级篇]
2008/04/27 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
在django中使用自定义标签实现分页功能
2017/07/04 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
python下载库的步骤方法
2019/10/12 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
Python读取表格类型文件代码实例
2020/02/17 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
Python super()函数使用及多重继承
2020/05/06 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
策划总监岗位职责
2014/02/16 职场文书
《狼》教学反思
2014/03/02 职场文书
车辆工程专业求职信
2014/06/14 职场文书
医院义诊活动总结
2014/07/04 职场文书
判断Python中的Nonetype类型
2021/05/25 Python
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL