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

Python Pandas:将groupby拆分后的多组数据合并为单个DataFrame

解决Pandas GroupBy后合并所有处理组的问题

核心问题排查

你大概率是在循环处理分组时,没有将每个处理后的DataFrame存入列表,而是直接用变量覆盖,导致最终只保留最后一组数据。

正确实现步骤

1. 初始化空列表存储处理后的组

先创建一个空列表,用来装每个处理完成的分组DataFrame:

processed_groups = []

2. 遍历分组并处理,存入列表

用groupby('Report_Title')遍历每个组,处理完Column_Name后,把处理后的组添加到列表里:

for report_title, group_df in df.groupby('Report_Title'):
    # 这里替换成你的Column_Name数值转换逻辑,示例:
    group_df['Column_Name'] = group_df['Column_Name'].apply(your_conversion_function)
    # 将处理后的组加入列表
    processed_groups.append(group_df)

3. 用concat合并所有组

最后用pd.concat()把列表里的所有DataFrame按行合并,恢复成初始结构:

final_df = pd.concat(processed_groups, ignore_index=True)
  • ignore_index=True会重置合并后的索引,避免原分组索引重复的问题。

常见错误规避

  • 不要直接用df = group_df这种赋值方式,会不断覆盖之前的结果,必须用列表收集每个组。
  • 若之前用append没成功,大概率是因为每次直接执行df = df.append(group_df),但Pandas中append返回新对象,原对象不会改变,且这种方式效率低,推荐用列表收集后再concat。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:05:19