我有一个数据框
df =
type value
A 5
A 7
B 2
B 6
A 1
我要为每个列的组应用函数
type
,所以排名将适用于每种类型,新的 df 将是df =
type value rank
A 5 1
A 7 0
B 2 1
B 6 0
A 1 2
最佳答案
这可以通过 sort_values
来完成其次是 groupby().cumcount()
:
df['rank'] = df.sort_values('value', ascending=False).groupby('type').cumcount()
输出:
type value rank
0 A 5 1
1 A 7 0
2 B 2 1
3 B 6 0
4 A 1 2
关于python dataframe每组什么应用函数没有循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61143150/