当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.DataFrame.rank用法及代码示例


用法:

DataFrame.rank(axis=0, method='average', numeric_only=NoDefault.no_default, na_option='keep', ascending=True, pct=False)

沿轴计算数值数据等级(1 到 n)。

默认情况下,为相等的值分配一个排名,该排名是这些值排名的平均值。

参数

axis{0 或 ‘index’,1 或 ‘columns’},默认 0

直接排名的索引。

method{‘average’, ‘min’, ‘max’, ‘first’, ‘dense’},默认 ‘average’

如何对具有相同值(即平局)的记录组进行排名:

  • 平均:组的平均排名

  • min:组中最低的排名

  • max:组中最高的排名

  • 第一个:按照它们在数组中出现的顺序分配的等级

  • 密集:类似于‘min’,但组间排名总是增加 1。

numeric_only布尔型,可选

对于 DataFrame 对象,如果设置为 True,则仅对数字列进行排名。

na_option{‘keep’, ‘top’, ‘bottom’},默认 ‘keep’

如何对 NaN 值进行排名:

  • 保持:将 NaN 等级分配给 NaN 值

  • 顶部:将最低等级分配给 NaN 值

  • 底部:将最高等级分配给 NaN 值

ascending布尔值,默认为真

元素是否应按升序排列。

pct布尔值,默认为 False

是否以百分位形式显示返回的排名。

返回

与调用者相同的类型

返回以数据等级为值的系列或数据帧。

例子

>>> df = pd.DataFrame(data={'Animal':['cat', 'penguin', 'dog',
...                                    'spider', 'snake'],
...                         'Number_legs':[4, 2, 4, 8, np.nan]})
>>> df
    Animal  Number_legs
0      cat          4.0
1  penguin          2.0
2      dog          4.0
3   spider          8.0
4    snake          NaN

以下示例显示了该方法在使用上述参数时的行为方式:

  • default_rank:这是不使用任何参数的默认行为。

  • max_rank:设置 method = 'max' 具有相同值的记录使用最高排名(例如:由于 ‘cat’ and ‘dog’ 都在第 2 和第 3 位,因此分配 3 位。)

  • NA_bottom:choosing na_option = 'bottom' ,如果存在具有 NaN 值的记录,则将它们放置在排名的底部。

  • pct_rank:设置pct = True时,排名以百分排名表示。

>>> df['default_rank'] = df['Number_legs'].rank()
>>> df['max_rank'] = df['Number_legs'].rank(method='max')
>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')
>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)
>>> df
    Animal  Number_legs  default_rank  max_rank  NA_bottom  pct_rank
0      cat          4.0           2.5       3.0        2.5     0.625
1  penguin          2.0           1.0       1.0        1.0     0.250
2      dog          4.0           2.5       3.0        2.5     0.625
3   spider          8.0           4.0       4.0        4.0     1.000
4    snake          NaN           NaN       NaN        5.0       NaN

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.rank。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。