用法:
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
相關用法
- Python pandas.DataFrame.radd用法及代碼示例
- Python pandas.DataFrame.rename用法及代碼示例
- Python pandas.DataFrame.rename_axis用法及代碼示例
- Python pandas.DataFrame.reset_index用法及代碼示例
- Python pandas.DataFrame.rolling用法及代碼示例
- Python pandas.DataFrame.reorder_levels用法及代碼示例
- Python pandas.DataFrame.replace用法及代碼示例
- Python pandas.DataFrame.round用法及代碼示例
- Python pandas.DataFrame.rdiv用法及代碼示例
- Python pandas.DataFrame.rtruediv用法及代碼示例
- Python pandas.DataFrame.rmod用法及代碼示例
- Python pandas.DataFrame.resample用法及代碼示例
- Python pandas.DataFrame.rsub用法及代碼示例
- Python pandas.DataFrame.rpow用法及代碼示例
- Python pandas.DataFrame.reindex用法及代碼示例
- Python pandas.DataFrame.rfloordiv用法及代碼示例
- Python pandas.DataFrame.rmul用法及代碼示例
- Python pandas.DataFrame.reindex_like用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.rank。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。