要按分位数对Pandas数据帧进行排名,可以按照以下步骤进行:
import pandas as pd
data = {'A': [10, 15, 7, 12, 8],
'B': [5, 9, 6, 2, 1],
'C': [3, 6, 8, 1, 10]}
df = pd.DataFrame(data)
qcut()
函数将数据帧的列划分为分位数(例如,四分位数):df['A_rank'] = pd.qcut(df['A'], q=4, labels=False)
df['B_rank'] = pd.qcut(df['B'], q=4, labels=False)
df['C_rank'] = pd.qcut(df['C'], q=4, labels=False)
print(df)
输出:
A B C A_rank B_rank C_rank
0 10 5 3 2 2 1
1 15 9 6 3 3 2
2 7 6 8 1 2 3
3 12 2 1 3 0 0
4 8 1 10 2 0 3
在上面的示例中,我们将数据帧的每一列划分为四个分位数,并为每一列添加了一个新的列,其中包含了对应的排名。
上一篇:按分数对聚合桶进行排序