Python 如何创建一个重复标志(列),该标志基于两列对重复行进行计数?

Python 如何创建一个重复标志(列),该标志基于两列对重复行进行计数?,python,pandas,numpy,dataframe,duplicates,Python,Pandas,Numpy,Dataframe,Duplicates,我有下面的数据框,希望在末尾创建一个名为“dup”的列,根据“Seasons”和“Actor”列显示行的显示次数。理想情况下,dup列如下所示: Name Seasons Actor dup 0 Stranger Things 3 Millie 1 1 Game of Thrones 8 Emilia 1 2 La Casa De Papel 4

我有下面的数据框,希望在末尾创建一个名为“dup”的列,根据“Seasons”和“Actor”列显示行的显示次数。理想情况下,dup列如下所示:

               Name  Seasons        Actor   dup
0   Stranger Things        3       Millie     1
1   Game of Thrones        8       Emilia     1
2  La Casa De Papel        4       Sergio     1     
3         Westworld        3  Evan Rachel     1
4   Stranger Things        3       Millie     2
5  La Casa De Papel        4       Sergio     1

这应该满足您的需要:

df['dup'] = df.groupby(['Seasons', 'Actor']).cumcount() + 1
输出:

               Name  Seasons        Actor  dup
0   Stranger Things        3       Millie    1
1   Game of Thrones        8       Emilia    1
2  La Casa De Papel        4       Sergio    1
3         Westworld        3  Evan Rachel    1
4   Stranger Things        3       Millie    2
5  La Casa De Papel        4       Sergio    2
正如Scott Boston提到的,根据您的标准,
dup
列中的最后一行也应该是
2


这里有一个类似的帖子,可以为你提供更多信息

是否希望重复行出现在数据帧中?索引5处的行是否正确,应该是2而不是1?