为 pandas 中的重复特征子集添加增量计数器

Add incremental counter for repeating feature subsets in pandas

假设我有以下 table:

id name mail date
1 Sta sta@example.com 11.11.22
2 Danny dany@example.com 11.11.22
3 Elle elle@example.com 11.11.22
4 Elle falsemail@example.com 11.11.22
5 Elle elle@example.com 12.11.22

为特征子集 [name, date] 的重复观察创建增量计数器的最佳方法是什么?

期望的输出:

id name mail date counter
1 Sta sta@example.com 11.11.22 1
2 Danny dany@example.com 11.11.22 1
3 Elle elle@example.com 11.11.22 1
4 Elle falsemail@example.com 11.11.22 2
5 Elle elle@example.com 12.11.22 1

编辑:table 本身已正确排序,重复项依次出现。

df['counter'] = df.groupby(['name', 'date']).cumcount() + 1 
df
   id   name                   mail        date  counter
0  1    Sta         sta@example.com   11.11.22         1
1  2   Danny       dany@example.com   11.11.22         1
2  3   Elle        elle@example.com   11.11.22         1
3  4   Elle   falsemail@example.com   11.11.22         2
4  5   Elle        elle@example.com   12.11.22         1