• 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']))
    0     small numbers
    1     large numbers
    2     small numbers
    3     small numbers
    4     small numbers
    5     large numbers
    6     small numbers
    7     large numbers
    8     large numbers
    9     small numbers
    10    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%']))
    0      first 10%
    1            70%
    2      first 10%
    3            70%
    4      third 10%
    5            70%
    6     second 10%
    7            70%
    8            70%
    9            70%
    10           70%
    dtype: category Categories
    (4, object): [first 10% < second 10% < third 10% < 70%]

    当然,这里因为数据里有11个数,没法刚好按照 1:1:1:7 分,所以 0和1,都被分到了 'first10%' 这一类.

     qcut() 方法第二个参数是要替换的值,就是对应区间的值应该替换成什么值,顺序和区间保持一致就好了,注意有几个区间,就要给几个值,不能多也不能少.

  • 相关阅读:
    kafka参数设置
    安装kafka多节点
    zookeeper集群搭建
    ubuntu安装spark
    ubuntu安装Scala
    elasticsearch添加访问密码
    springcloud整合分布式事务LCN
    springboot分布式事务
    K近邻(KNN)
    最大期望算法(EM算法)
  • 原文地址:https://www.cnblogs.com/liulangmao/p/9342544.html
Copyright © 2020-2023  润新知