Вы можете добавить вспомогательный столбец, а затем использовать cumsum
:
df =pd.DataFrame({'Name':['abc', 'def', 'ghi', 'abc', 'abc', 'def', 'jkl', 'jkl']})
добавить счет:
df['counts'] =1
группу по имени:
cs =df.groupby('Name')['counts'].cumsum()
# set series name
cs.name = 'Occ_number'
присоединить серию назад к фрейму данных:
# remove helper column
del df['counts']
df.join(cs)
возвращает:
Name Occ_number
0 abc 1
1 def 1
2 ghi 1
3 abc 2
4 abc 3
5 def 2
6 jkl 1
7 jkl 2