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

Pandas groupby无聚合直接导出Excel报错问题求助

报错原因说明

  1. 'DataFrameGroupBy' object has no attribute 'to_excel':groupby()执行后返回的是分组中间对象,不是标准DataFrame结构,只有DataFrame才支持to_excel()方法。你的需求不需要做聚合计算,完全不需要用到groupby,排序即可实现同指标连续排列的效果。
  2. 'DataFrame' object has no attribute 'sort':pandas 1.0+版本已废弃sort方法,按列值排序统一使用sort_values()方法。

解决方案代码

你的需求是先按指标名称排列、同指标下按月份顺序排列,直接按指定列排序后导出即可:

import pandas as pd

# 原有计算逻辑保留
dfcon = pd.concat([PmDf,ReDf])
dfcon['Need'] = dfcon['Volumes'] / (dfcon['Productivity']*21*8*.80)

# 筛选需要保留的列,注意要赋值给变量才会生效
dfcon = dfcon[['Date','Current Team','Metric','Productivity','Volumes','Need']]

# 按指定规则排序:先按Metric(指标)升序,同指标下按Date(日期)升序
df_output = dfcon.sort_values(by=['Metric', 'Date'], ascending=[True, True])

# 导出Excel
df_output.to_excel(r'S:\FILEPATH\Grouped_Output.xlsx', sheet_name='FTE Need', index = 0)

扩展场景(可选)

如果你后续需要把每个指标的内容单独放到Excel的不同sheet里,可以用groupby遍历分组实现:

with pd.ExcelWriter(r'S:\FilePATH\GroupBy_Per_Sheet.xlsx') as writer:
    # 按Metric分组遍历
    for metric_name, group_df in dfcon.groupby('Metric'):
        # 每个分组内按日期排序后写入对应sheet,sheet名取指标名(限制30字符以内,符合Excel sheet名规则)
        group_df.sort_values('Date').to_excel(writer, sheet_name=str(metric_name)[:30], index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:24:03