當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。