代码之家  ›  专栏  ›  技术社区  ›  Lynn

在Python中进行聚合时,对多个列应用groupby

  •  0
  • Lynn  · 技术社区  · 2 年前

    我希望在运行聚合函数时将groupby应用于多个列。

    数据

    country type    en  start   
    Japan   aa      25  8/1/2022    
    Japan   cc      1   9/1/2022    
    US      bb      5   8/1/2022    
    US      bb      5   8/1/2022    
                    
                
    

    渴望的

    country type    en  start    
    Japan   aa      25  8/1/2022    
    Japan   cc      1   9/1/2022    
    US      bb      10  8/1/2022    
                
    

    正在执行

    df.groupby(['country','type','date'])['en'].sum()
    

    但是,这会创建一些空白行。欢迎提出任何建议。

    1 回复  |  直到 2 年前
        1
  •  2
  •   Naveed    2 年前
    out=df.groupby(['country','type','start'], as_index=False).agg({'en': sum})
    out
    
    country     type    start   en
    0   Japan   aa  8/1/2022    25
    1   Japan   cc  9/1/2022    1
    2   US      bb  8/1/2022    10