美文网首页
Pandas >>数据排名(rank()函数)

Pandas >>数据排名(rank()函数)

作者: 默直 | 来源:发表于2021-01-16 08:13 被阅读0次

Pandas >>据排名(rank()函数)

  • axis:0或'index',1或'columns',默认0

  • method:'average','min','max','first','dense',默认为'average',

    • 如何对具有相同值(即ties)的记录组进行排名:
        1. average:组的平均等级;
        1. min:组中最低的排名;
        1. max:组中最高等级;
        1. first : 按排列顺序排列,依次排列;
        1. dense:类似于 ‘min’,但组之间的排名始终提高1numeric_only:bool;可选对于DataFrame对象,如果设置为True,则仅对数字列进行排名。
  • na_option:{'keep','top','bottom'},默认为'keep'

    • 如何对NaN值进行排名:
        1. keep:将NaN等级分配给NaN值
        1. top:如果升序,则将最小等级分配给NaN值
        1. bottom:如果升序,则将最高等级分配给NaN值。
  • ascending:bool,默认为True,元素是否应该按升序排列。

  • pct:bool,默认为False,是否以百分比形式显示返回的排名。

  • 返回值:返回以数据等级作为值的Series或DataFrame。

一、基本数据
import pandas as pd
import numpy as np
data_test= pd.DataFrame([
                    ['张三',3],
                    ['张三',1],
                    ['张三',4],
                    ['李四',2],
                    ['李四',7],
                    ['李四',],
                    ['王五',6],
                    ['王五',6],
                    ['王五',7],
                    ['王五',8]
                    ],
                    columns =['name','number_1']
                    )
data_test
image.png
二、默认情况下,rank是通过“为各组分配一个平均排名”的方式破坏平级关系的
data_test['name_num_rank']=data_test.groupby('name')['number_1'].rank()
data_test
image.png
  • 当数据正常时,则以大小排名
  • 当数据中有空值时,则空值不进行排名,其他进行排名
  • 当数据相等时,则以平均值排名;
三、method参数为average时,即默认值时。
data_test['rank_average']=data_test.groupby('name')['number_1'].rank(method='average')
data_test
image.png
  • 当数据正常时,则以大小排名
  • 当数据中有空值时,则空值不进行排名,其他进行排名
  • 当数据相等时,则以平均值排名;
四、method参数为min时。
data_test['rank_min']=data_test.groupby('name')['number_1'].rank(method='min')
data_test
image.png
  • 当数据正常时,则以大小排名
  • 当数据中有空值时,则空值不进行排名,其他进行排名
  • 当数据重复值时,则以最小值排名;
四、method参数为max时。
data_test['rank_max']=data_test.groupby('name')['number_1'].rank(method='max')
data_test
image.png
  • 当数据正常时,则以大小排名
  • 当数据中有空值时,则空值不进行排序,其他进行排名
  • 当数据重复值时,则以最大值排名;
五、method参数为first时。
data_test['rank_first']=data_test.groupby('name')['number_1'].rank(method='first')
data_test
image.png
  • 当数据正常时,则以大小排名
  • 当数据中有空值时,则空值不进行排名,其他进行排名
  • 当数据重复值时,则以大小排名;
五、method参数为first时,na_option:对na值的处理,默认采用keep策略,即保留为nan不参与排名;na_option=“top”时,则将最小等级分配给NaN值
data_test['rank_na']=data_test.groupby('name')['number_1'].rank(method='first',na_option='top')
data_test
image.png
  • 当数据正常时,则以大小排名
  • 当数据中有空值时,则则将最小等级分配给NaN值
  • 当数据重复值时,则以大小排名;
六、method参数为first时,na_option:对na值的处理,na_option=“bottom”时,则将最高等级分配给NaN值。
data_test['rank_na_bottom']=data_test.groupby('name')['number_1'].rank(method='first',na_option='bottom')
data_test
image.png
  • 当数据正常时,则以大小排名
  • 当数据中有空值时,则则将最高等级分配给NaN值
  • 当数据重复值时,则以大小排名;
七、method参数为first时,na_option:对na值的处理,na_option=“bottom”时,则将最高等级分配给NaN值。 ascending:默认为True,排序规则为升序排列;当ascending=False时,排序规则为降序排列
data_test['rank_ascending']=data_test.groupby('name')['number_1'].rank(method='first',
                                                                       na_option='bottom',
                                                                       ascending=False)
data_test
image.png
  • 当数据正常时,则以大小排名
  • 当数据中有空值时,则将最高等级分配给NaN值
  • 当数据重复值时,则以大小排名;

好啦,就这些了~

相关文章

  • Pandas >>数据排名(rank()函数)

    Pandas >>据排名(rank()函数) axis:0或'index',1或'columns',默认0 met...

  • rank函数使用注意事项

    在计算排名时,我们经常会用到rank()函数,rank()函数使用很简单:rank(排名数值,排名计算的列,排序顺...

  • pandas rank()排名

    https://ask.csdn.net/questions/717823

  • 图解Pandas的排名rank机制

    图解Pandas的排名rank机制 在我们的生活经常会遇到各种排名问题:学生成绩排名、销售员业绩排名、各种比赛排名...

  • 在MySQL中实现Rank高级排名函数

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名。尽...

  • 在MySQL中实现Rank高级排名函数 风澈vio

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名。尽...

  • pandas 的rank函数

    今天遇到一个需求,就是根据PM25对区县进行排序,但是值相同的排名要一样,所以需要pandas的rank函数, 方...

  • excel学习第4天

    排名函数 rank美式排名 sum+countif中式排名 vlookup 1.函数意义:查找条件对应的值。 2....

  • 29、其他函数RANK、ROUND、INT2018-10-19

    一、RANK函数(用于排名) 1、基本用法 =rank(排名的数字,引用区域,0(0是降序,非0是升)) 2、不出...

  • MySQL查询笔记

    1.关于mysql实现排名mysql不能用rank()函数,比如: 执行报错,无法直接用rank()函数 但可以用...

网友评论

      本文标题:Pandas >>数据排名(rank()函数)

      本文链接:https://www.haomeiwen.com/subject/kdoagktx.html