【问题标题】:Pandas duplicates groupby熊猫重复 groupby
【发布时间】:2019-04-07 13:26:35
【问题描述】:

我有一个 Pandas 数据框,以及一些关于某些人的数字数据。 我需要做的是找到在数据框中出现多次的人,并将关于一个人的所有行替换为一行,其中数值是某些列中之前行的数值之和,以及其他中此值的最小值。 我知道如何使用 groupby() 和 sum() 求和,但不知道如何为不同的列做不同的事情

例子:

Names  Column1 Column2 Column3  
John     1        2     2016
Bob      2        3     2011
Pier     1        1     2003
John     3        3     2005
Bob      1        0     2018

必须变成:

Names  Column1 Column2 Column3  
John     4        5     2005
Bob      3        3     2011
Pier     1        1     2003

我该怎么办?

【问题讨论】:

  • 使用groupby + agg函数。
  • 乔恩!=约翰。你也想模糊 groupby 吗?
  • 操作,对不起,我失败了,现在可以了

标签: python pandas group-by duplicates


【解决方案1】:

使用groupby + agg 并将每列的特定聚合函数定义为dict,例如:

df.groupby('Names').agg({'Column1':'sum', 'Column2':'sum','Column3':'min'})

    Column1 Column2 Column3
Names           
Bob     3     3     2011
John    3     3     2005
Jonh    1     2     2016
Pier    1     1     2003

【讨论】:

    猜你喜欢
    • 2020-10-12
    • 2013-06-03
    • 1970-01-01
    • 2019-04-12
    • 2021-02-12
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    相关资源
    最近更新 更多