分组数据框追加至空数据框后导出Excel仅显示数值列的解决办法
解决分组后数据追加导出Excel丢失分组列的问题
问题根源在于groupby操作后,team和position字段会成为索引列,而非普通数据列,默认情况下pandas的to_excel方法不会导出索引,所以最终Excel里只显示数值列。以下是几种可行的解决方法:
分组时直接保留分组列为普通列
在执行groupby时添加as_index=False参数,让分组字段保持为数据列而非索引:# 示例分组聚合代码(根据你的实际聚合逻辑调整agg内的内容) sample = df.groupby(['team', 'position'], as_index=False).agg(total_score=('score', 'sum')) # 追加到空数据框并导出 df_empty = df_empty.append(sample) df_empty.to_excel('output.xlsx', index=False)对已分组的数据重置索引
如果已经生成了带索引的分组数据,使用reset_index()将索引转为普通列:# 将索引列转为普通数据列 sample = sample.reset_index() # 追加后导出 df_empty = df_empty.append(sample) df_empty.to_excel('output.xlsx', index=False)导出时强制包含索引列
若不想修改数据结构,直接在导出时设置index=True,让索引列(即team和position)一同导出:df_empty = df_empty.append(sample) # 导出时包含索引,此时team和position会作为前两列出现在Excel中 df_empty.to_excel('output.xlsx', index=True)
内容的提问来源于stack exchange,提问作者Donut
相关产品推荐
相关产品推荐

