这个函数实际非常简单
df = pd.DataFrame([['a'], ['a'], ['a'], ['b'], ['b'], ['a']],
columns=['A'])
df
A
0 a
1 a
2 a
3 b
4 b
5 a
df.groupby('A').cumcount()
0 0
1 1
2 2
3 0
4 1
5 3
dtype: int64
df.groupby('A').cumcount(ascending=False)
0 3
1 2
2 1
3 1
4 0
5 0
dtype: int64
groupby 返回的值 等于该项在它分类中的索引位置,例如a的索引为0,1,2,5
则函数的返回series 0,1,2,5对应组内的位置0,1,2,3