pandas的qcut()方法详解

 更新时间:2019年07月06日 10:40:53   作者:猴子吃果冻  
这篇文章主要介绍了pandas的qcut()方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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).举例

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).举例

    

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python字典和json.dumps()的遇到的坑分析

    python字典和json.dumps()的遇到的坑分析

    在本篇文章里小编给大家整理了关于python字典和json.dumps()的遇到的坑分析,需要的朋友们可以学习下。
    2020-03-03
  • Python matplotlib实战之气泡图绘制

    Python matplotlib实战之气泡图绘制

    气泡图是一种多变量的统计图表,可以看作是散点图的变形,这篇文章主要为大家介绍了如何使用Matplotlib绘制气泡图,需要的小伙伴可以参考下
    2023-08-08
  • python实现单向链表详解

    python实现单向链表详解

    这篇文章主要介绍了python实现单向链表详解,分享了相关代码示例,每一步操作前都有简单分析,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python Socket实现简单TCP Server/client功能示例

    Python Socket实现简单TCP Server/client功能示例

    这篇文章主要介绍了Python Socket实现简单TCP Server/client功能,结合实例形式分析了Python基于socket创建TCP服务器Server与客户端client相关实现步骤与操作技巧,需要的朋友可以参考下
    2017-08-08
  • Flask SocketIO实现动态绘图的示例详解

    Flask SocketIO实现动态绘图的示例详解

    Flask-SocketIO 是基于 Flask 的一个扩展,用于简化在 Flask 应用中集成 WebSocket 功能,本文主要介绍了Flask SocketIO如何实现动态绘图,需要的可以参考下
    2023-11-11
  • 用python代码做configure文件

    用python代码做configure文件

    在lua中,我一直用lua作为config文件,或者承载数据的文件 - 好处是lua本身就很好阅读,然后无需额外写解析的代码,还支持在configure文件中读环境变量,条件判断等,方便又强大!
    2014-07-07
  • Python 正则表达式基础知识点及实例

    Python 正则表达式基础知识点及实例

    在本篇文章里小编给大家整理了关于Python正则表达式的一些基础知识点以及相关用法实例内容,需要的朋友们可以参考下。
    2021-12-12
  • Anaconda配置各版本Pytorch的实现

    Anaconda配置各版本Pytorch的实现

    本文是整理目前全版本pytorch深度学习环境配置指令,以下指令适用Windows操作系统,在Anaconda Prompt中运行,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Python 安装 virturalenv 虚拟环境的教程详解

    Python 安装 virturalenv 虚拟环境的教程详解

    这篇文章主要介绍了Python 安装 virturalenv 虚拟环境的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 在Python中执行异常处理的基本步骤

    在Python中执行异常处理的基本步骤

    异常处理是编写健壮、可靠和易于调试的Python代码中不可或缺的一部分,下面这篇文章主要给大家介绍了关于在Python中执行异常处理的基本步骤,需要的朋友可以参考下
    2024-08-08

最新评论