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

Pandas调用.groups属性报DataFrame无该属性错误如何解决

问题根源

.groups是pandas GroupBy对象的专属属性,你代码里的test是普通DataFrame,自然会报属性不存在的错误。
你的写法在groupby选完目标列之后直接链式调用了.sum(),这个方法会立即执行聚合计算,返回聚合完成的带多级行索引的结果DataFrame,原本的GroupBy对象在这一步已经被消费,没有赋值给任何变量。

对应解决方式
  • 如果你需要保留分组信息、后续还要遍历原始分组:把GroupBy对象单独赋值,不要直接链式接聚合函数
# 先实例化GroupBy对象,暂时不执行聚合
gb_obj = temp.groupby(['global company key','calendar year'])[['columnA','columnB', 'columnC']]

# 此时调用.groups属性可正常返回分组信息
print(gb_obj.groups)

# 聚合计算、遍历分组都基于这个GroupBy对象操作即可
agg_result = gb_obj.sum() # 拿到你之前要的汇总结果
for group_name, group_data in gb_obj: # 遍历每个原始分组
    print(f"当前分组键:{group_name}")
    print(group_data)
  • 如果你已经生成了聚合后的test,只是想拿到所有分组键,不需要回溯分组原始数据:直接从结果的多级索引提取即可,不用重跑groupby逻辑
# 获取全部分组键,格式为(公司key, 年份)的元组列表
all_groups = test.index.tolist()

# 遍历聚合后的每条分组结果
for (company_key, cal_year), row in test.iterrows():
    print(company_key, cal_year, row['columnA'], row['columnB'], row['columnC'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:03:36