Given the following data frame:
import pandas as pd import numpy as np df=pd.DataFrame({\'A\':[\'A\',\'A\',\'A\',\'B\',\'B\',\'B\'], \'B\':[\'
Use groupby/cumcount:
In [25]: df['C'] = df.groupby(['A','B']).cumcount()+1; df Out[25]: A B C 0 A a 1 1 A a 2 2 A b 1 3 B a 1 4 B a 2 5 B a 3