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

如何将Pandas DataFrame的汇总数据与原始数据同表导出到Excel?

问题核心原因

你生成的summary DataFrame 把State、AvailabilityZone设为了多层行索引,默认情况下行索引不会被识别为普通数据列,合并导出时自然不会被写入Excel,只会保留统计值列。

解决步骤

  1. 生成汇总表时直接把多层索引重置为普通列,同时重命名统计结果列,避免和原始State列重名冲突
  2. 可按需增加标识列区分原始数据和汇总行
  3. 合并后导出时无需额外设置丢弃索引即可正常展示所有字段

完整可运行代码示例

import pandas as pd

# 生成汇总表:as_index=False 直接避免把分组字段设为索引,同时重命名统计列
summary = ec2_list.groupby(
    ['State','AvailabilityZone'], 
    as_index=False
)['State'].count().rename(columns={'State': '实例数量'})

# 可选:增加汇总标识列,方便在Excel中快速区分
summary['数据类型'] = '汇总统计'
ec2_list['数据类型'] = '原始明细'

# 合并两个表,重置全局行号
combined_df = pd.concat([ec2_list, summary], ignore_index=True)

# 导出到Excel,index=False 仅丢弃pandas默认生成的数字行索引,业务列全部保留
combined_df.to_excel('EC2实例统计全量.xlsx', sheet_name='明细+汇总', index=False)

如果想要保留多层索引的合并单元格样式在Excel中展示,可以不用重置索引,导出时设置index=True即可,不过该样式和原始明细数据的列结构不匹配,更适合汇总表单独导出时使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:36:07