天天看點

pandas 中 rank 的用法

官方文檔

例子:

import pandas as pd
import numpy as np

a = pd.DataFrame(np.arange().reshape(,),columns = list("abdc"))
a =a.sort_index(axis=,ascending=False)
a
           
pandas 中 rank 的用法

1、直接rank()

a.rank()
           

顯示了排名,方向是按照預設的放心,axis=0即 ‘index’

pandas 中 rank 的用法

2、加個axis=1

axis=1即 ’columns’

pandas 中 rank 的用法

3、加入排序的方法 method

排序前先修改下a的一個值,隻是為了為了讓比較效果明顯點

a.iloc[[1,1],[1,2]] = 
a
           
pandas 中 rank 的用法

method為average,即排序是在相等分組中,為各個值配置設定平均排名,預設值

數字6 在排名時是2,3,4, 取2,3,4平均值3

pandas 中 rank 的用法

method為max,即排序是在相等分組中,為各個值取最大,預設值

數字6 在排名時是2,3,4, 取2,3,4最大值4

pandas 中 rank 的用法

method 為min,就是取最小(例子,略)

method 為first,就是在原始資料中的出現順序配置設定排名

pandas 中 rank 的用法

method 為dense : 類似于min,但後續增長的時候每次就增加1

pandas 中 rank 的用法

其他參數

numeric_only :Include only float, int, boolean data. Valid only for DataFrame or Panel objects 。boolean, default None

ascending:是否為升序,預設為True

na_option:用于處理NaN值

  1. ‘keep’:leave NA values where they are
  2. ‘top’:smallest rank if ascending
  3. ‘bottom’:smallest rank if dscending

pct:名次是否為百分數

繼續閱讀