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中的RSS处理
Apr 13 Python
从Python的源码来解析Python下的freeblock
May 11 Python
python 查找字符串是否存在实例详解
Jan 20 Python
django实现用户登陆功能详解
Dec 11 Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 Python
TensorFlow实现Softmax回归模型
Mar 09 Python
对python for 文件指定行读写操作详解
Dec 29 Python
python中如何实现将数据分成训练集与测试集的方法
Sep 13 Python
django框架auth模块用法实例详解
Dec 10 Python
python3的pip路径在哪
Jun 23 Python
对Python 字典元素进行删除的方法
Jul 31 Python
python装饰器代码深入讲解
Mar 01 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数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
php树型类实例
2014/12/05 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
php给每个段落添加空格的方法
2015/03/20 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
AJAX在JQuery中的应用详解
2019/01/30 jQuery
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
python使用tensorflow深度学习识别验证码
2018/04/03 Python
python导入pandas具体步骤方法
2019/06/23 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
python读取并写入mat文件的方法
2019/07/12 Python
Python requests模块session代码实例
2020/04/14 Python
次世代生活态度:Hypebeast
2018/07/05 全球购物
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
大学生创业计划书的格式要求
2013/12/29 职场文书
师德师风建设方案
2014/05/08 职场文书
销售员岗位职责
2014/06/09 职场文书
写得不错的求职信范文
2014/07/11 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
社区文明倡议书
2015/04/28 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书