You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python多列GroupBy聚合操作出现空行问题求助

多列GroupBy聚合后出现空行的解决方法

问题

需要对多列执行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. 原始数据包含全空行,这些空行会被GroupBy处理,生成空分组结果
  2. GroupBy的列名错误:数据中不存在date列,实际应为start
  3. 默认as_index=True会将分组列设为索引,可能导致显示异常

修正后的代码

# 清理数据中所有字段都为空的行
df = df.dropna(how='all')

# 执行GroupBy聚合,设置as_index=False让分组列保留为普通列
result = df.groupby(['country', 'type', 'start'], as_index=False)['en'].sum()

说明

  • dropna(how='all')移除全空行,避免空行参与分组计算
  • 修正分组列名为start,匹配数据实际结构
  • as_index=False确保聚合结果中分组列作为普通列存在,输出格式与期望结果一致

内容的提问来源于stack exchange,提问作者Lynn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 08:10:30