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

2024-06-18 07:07:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的数据框,希望在末尾创建一个名为“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

Tags: 数据de次数laactor末尾things理想
1条回答
网友
1楼 · 发布于 2024-06-18 07:07:38

这应该满足您的需要:

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

这里有一个类似的帖子,可以为你提供更多信息SQL-like window functions in PANDAS

相关问题 更多 >