Use the cumcount method after grouping Gender:
df = pd.DataFrame({'Gender':['Male','Male','Female','Female','Female']})
df['Occurrence'] = df.groupby('Gender').cumcount() + 1
print(df)
Gender Occurrence
0 Male 1
1 Male 2
2 Female 1
3 Female 2
4 Female 3
Counts start at 0, so I added there + 1.
source
share