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

Pandas Groupby使用报错:'DataFrameGroupBy'无to_csv属性求助

问题解决:DataFrameGroupBy对象无to_csv方法

报错原因

result.groupby('Job ID')得到的是DataFrameGroupBy类型的对象,它是Pandas用于分组操作的中间容器,并不是可直接导出的DataFrame,因此没有to_csv方法。

解决方案

根据你的实际需求选择对应处理方式:

1. 保留分组后的所有原始数据并导出

如果你只是想按Job ID分组后保留每组的所有行数据,只需将分组对象转换为DataFrame即可:

import pandas as pd

path1 = "/content/NYC_Jobs_1.csv"
path2 = "/content/NYC_Jobs_2.xlsx"
df1 = pd.read_csv(path1)
df2 = pd.read_excel(path2)

result = df1.merge(df2,on="Job ID",how='outer')
# 将分组对象转换为DataFrame并重置索引
grouped_df = result.groupby('Job ID').apply(pd.DataFrame).reset_index(drop=True)
# 导出CSV文件
grouped_df.to_csv('NYC.csv', index=False)

2. 先聚合分组数据再导出

如果你的目标是对每组数据做统计(比如取第一条数据、求和、均值等),先执行聚合操作得到DataFrame再导出:

import pandas as pd

path1 = "/content/NYC_Jobs_1.csv"
path2 = "/content/NYC_Jobs_2.xlsx"
df1 = pd.read_csv(path1)
df2 = pd.read_excel(path2)

result = df1.merge(df2,on="Job ID",how='outer')
# 示例1:按Job ID分组,取每组的第一条数据
grouped_agg = result.groupby('Job ID').first().reset_index()
# 示例2:按Job ID分组,对数值列求和
# grouped_agg = result.groupby('Job ID').sum(numeric_only=True).reset_index()

# 导出CSV文件
grouped_agg.to_csv('NYC.csv', index=False)

补充提示

如果不需要分组后的特殊处理,只是想按Job ID排序后导出,直接用result.sort_values('Job ID').to_csv('NYC.csv', index=False)即可,无需使用groupby。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:20:26