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

Pandas分组聚合导出Excel缺失分组列问题求助

解决Pandas分组聚合后导出Excel丢失分组列的问题

你的代码存在两个关键问题,导致导出结果仅包含聚合列:

  1. 未执行聚合计算:.sum只是引用了求和方法,没有实际执行计算,必须加上括号写成.sum()才会生成聚合后的DataFrame。
  2. 丢弃了分组索引列:groupby默认会将分组列设为DataFrame的索引,导出时使用index=False会直接丢弃这些索引列,导致分组信息丢失。

修复方案一:分组时保留分组列为普通列

在groupby中添加as_index=False参数,让分组列保持为DataFrame的普通列,而非索引:

import pandas as pd
df = pd.read_excel('new_file.xlsx', sheet_name='pack')
# 添加as_index=False,分组列不会转为索引
df = df.groupby(['STYLE', 'BRAND NAME', 'PRODUCT DESCRIPTION', 'COLOR','Size','SIZE RANGE', 'Retail Price','WEBSITE COUNTRY', 'SKU','BARCODE'], as_index=False).sum()
df.to_excel('result.xlsx', index=False)

修复方案二:将分组索引还原为列

如果不想修改groupby参数,可以在聚合后用reset_index()把索引列转换为普通列:

import pandas as pd
df = pd.read_excel('new_file.xlsx', sheet_name='pack')
# 执行聚合后,用reset_index()将索引转为普通列
df = df.groupby(['STYLE', 'BRAND NAME', 'PRODUCT DESCRIPTION', 'COLOR','Size','SIZE RANGE', 'Retail Price','WEBSITE COUNTRY', 'SKU','BARCODE']).sum().reset_index()
df.to_excel('result.xlsx', index=False)

两种方案都能让导出的Excel包含所有分组列和聚合结果,根据使用习惯选择即可。

内容的提问来源于stack exchange,提问作者高汤娃娃菜

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 11:22:04