pandas的qcut()方法详解

作者:猴子吃果冻 时间:2022-07-23 03:36:21 

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()方法详解

来源:https://www.cnblogs.com/houzichiguodong/p/9097790.html

标签:pandas,qcut
0
投稿

猜你喜欢

  • python批量处理打开多个文件

    2022-10-21 05:26:47
  • MSSQL存储过程学习笔记一 关于存储过程

    2024-01-17 18:59:43
  • MySQL截取和拆分字符串函数用法示例

    2024-01-21 14:24:55
  • 网页常用特效整理:中级篇

    2013-07-15 13:43:32
  • 对numpy中数组转置的求解以及向量内积计算方法

    2023-01-23 16:39:52
  • 如何选择合适的MySQL存储引擎

    2009-02-04 13:02:00
  • Go语言集成开发环境之VS Code安装使用

    2023-08-29 13:06:38
  • MySQL数据库恢复(使用mysqlbinlog命令)

    2024-01-22 14:49:14
  • mysql聚簇索引的页分裂原理实例分析

    2024-01-15 00:58:47
  • python标准算法实现数组全排列的方法

    2022-03-18 15:11:38
  • sql如何在线创建新表?

    2010-06-22 21:21:00
  • ORACLE11g随RHEL5系统自动启动与关闭的设置方法

    2009-08-31 12:43:00
  • Jupyter Notebook读入csv文件时出错的解决方案

    2021-09-15 18:13:48
  • 深入浅析Python数据分析的过程记录

    2022-05-04 02:56:27
  • 解析SQL语句中Replace INTO与INSERT INTO的不同之处

    2024-01-23 05:57:18
  • Python实现格式化输出的实例详解

    2023-03-15 10:01:59
  • SQL Server 总结复习(一)

    2012-10-07 11:04:02
  • keras输出预测值和真实值方式

    2021-11-26 20:25:18
  • Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】

    2021-10-08 00:22:10
  • 在pycharm创建scrapy项目的实现步骤

    2022-06-02 02:56:56
  • asp之家 网络编程 m.aspxhome.com