我正在尝试使用python对大型数据集进行排名。我不希望重复,而不是使用“ first”方法,而是希望它查看另一列并根据该值对其进行排名。
如果第一列中的等级重复,则应仅查看第二列。
Name CountA CountB
Alpha 15 3
Beta 20 52
Delta 20 31
Gamma 45 43
我希望排名结束
Name CountA CountB Rank
Alpha 15 3 4
Beta 20 52 2
Delta 20 31 3
Gamma 45 43 1
目前,我正在使用 df.rank(ascending=False, method='first')
也许使用排序并拉出索引:
import pandas as pd
df = pd.DataFrame({'Name':['A','B','C','D'],'CountA':[15,20,20,45],'CountB':[3,52,31,43]})
df['rank'] = df.sort_values(['CountA','CountB'],ascending=False).index + 1
Name CountA CountB rank
0 A 15 3 4
1 B 20 52 2
2 C 20 31 3
3 D 45 43 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句