【问题标题】:How to create a duplicate flag (column) that counts duplicate rows based on two columns?如何创建基于两列计算重复行的重复标志(列)?
【发布时间】:2020-08-31 12:46:16
【问题描述】:

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

【问题讨论】:

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

标签: python pandas numpy dataframe duplicates


【解决方案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

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

【讨论】:

    猜你喜欢
    • 2020-12-12
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    • 2014-02-06
    相关资源
    最近更新 更多