天天看點

Pandas排序和排名(四種排名方法)

import pandas as pd

obj = pd.Series([7, 7, 6])
obj.sort_index()
obj.sort_values()

# 平級關系:預設取排名平均值
obj.rank()
# 0    2.5
# 1    2.5
# 2    1.0
# dtype: float64

# 平級關系:取原始資料中的出現順序配置設定排名
obj.rank(method='first')
# 0    2.0
# 1    3.0
# 2    1.0
# dtype: float64

# 平級關系:使用相等分組的最小排名值
obj.rank(method='min')
# 0    2.0
# 1    2.0
# 2    1.0
# dtype: float64

# 平級關系:使用相等分組的最大排名值
obj.rank(method='max')
# 0    3.0
# 1    3.0
# 2    1.0
# dtype: float64

frame = pd.DataFrame({'b':[3,1,1,2],'a':[8,4,3,7],'c':[2,7,9,4]})

# 行方向 倒序
frame.rank(axis=1, ascending=False)
#   b   a   c
# 0 2.0 1.0 3.0
# 1 3.0 2.0 1.0
# 2 3.0 2.0 1.0
# 3 3.0 1.0 2.0