嗨,我需要对在 pandas df 中重复的事件组进行排名。如果满足值“重试”,则下一行的排名将增加。 完美的输出将是:
事件 | 排名 |
---|---|
初始化 | 0. |
打电话 | 0. |
重试 | 0. |
吉尼 | 1. |
初始化 | 1. |
打电话 | 1. |
重试 | 1. |
吉尼 | 2. |
答案 0 :(得分:1)
这看起来不像是一个排名,但你可以这样做:
# Shifting so the count increases after hitting a "retry"
df['rank'] = (df.event == 'retry').shift().cumsum().fillna(0)
输出:
event rank
0 init 0.0
1 call 0.0
2 retry 0.0
3 jini 1.0
4 init 1.0
5 call 1.0
6 retry 1.0
7 jini 2.0