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

Pandas按除最后一列外所有列分组求和最后列时丢失行如何解决

分组求和异常问题修复方案

核心错误原因

你的代码逻辑存在选择求和列的明显错误:groupby(cols[:-1])已经指定了以前16列为分组依据,后续你选取的[cols[:-1]]是要求对这16个分组列本身执行求和操作。如果前16列为文本、分类等非数值类型,pandas会直接过滤掉无法求和的列,最终就会出现大量行丢失、分组结果不符合预期的问题。

修复后的代码

cols = list(report.columns)
# 参数dropna=False避免分组列存在空值时被自动过滤
report = report.groupby(cols[:-1], as_index=False, sort=False, dropna=False)[cols[-1]].sum()

额外注意事项

  • 如果执行后仍存在本该合并的行没有合并的情况,检查前16列是否存在隐形格式差异:比如字符串前后带空格、数字存储为字符串类型与数值类型的差异、单元格内含换行符等,可针对字符串列执行str.strip()做格式清洗后再分组
  • 可先提取截图中前两行的小样本单独做分组测试,验证逻辑正确性后再全量执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:15:03