у меня датафрейм выглядит так:
ids valid date
0 1 False 2012-06-10
1 1 True 2012-07-11
2 1 True 2012-09-20
3 2 False 2012-01-12
4 2 True 2012-07-11
5 3 True 2012-03-09
6 3 True 2012-07-11
7 3 False 2012-12-09
8 4 False 2012-07-11
Я хочу посчитать, сколько действительных дел у человека до сих пор, и проходить их в порядке возрастания дат
ids valid date occur
1 False 2012-06-10 0
1 True 2012-07-11 1
1 True 2012-09-20 2
2 False 2012-01-12 0
2 True 2012-07-11 1
3 True 2012-03-09 1
3 True 2012-07-11 2
3 False 2012-12-09 0
4 False 2012-07-11 0
Что я пробовал до сих пор:
df = df.sort_values(['id', 'date'])
df['occur'] = df.groupby('valid').cumcount()+1