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

如何将pandas GroupBy对象转换为标准DataFrame

如何将Pandas GroupBy对象自动转换为DataFrame

方案1:分组后调用自定义DataFrame处理方法(适配现有业务逻辑)

这是最贴合需求的方案,直接通过GroupBy的apply方法对每个分组(每个分组本身是独立的DataFrame)调用已有的处理函数,最终自动合并为完整的DataFrame,全程不需要手动操作分组拼接。
示例代码:

import pandas as pd

# 已有的仅支持DataFrame输入的处理逻辑,无需修改
def your_custom_process(df: pd.DataFrame) -> pd.DataFrame:
    # 此处为原有数据处理代码,无需调整
    return df

# 按作者姓名分组后直接应用处理方法,得到合并后的结果DataFrame
# group_keys=False避免将分组键额外加入索引,reset_index重置全局索引
result_df = df.groupby("author_name", group_keys=False).apply(your_custom_process).reset_index(drop=True)

方案2:直接将GroupBy对象还原为原始结构DataFrame

如果不需要对分组做任何处理,只是要把GroupBy对象转回完整的DataFrame,直接拼接所有分组即可:

# 你的GroupBy对象
grouped_df = df.groupby("author_name")
# 自动拼接所有分组为完整DataFrame,ignore_index=True重置全局索引
restored_df = pd.concat([group for _, group in grouped_df], ignore_index=True)

注意事项

  • 两种方案均为Pandas原生实现,无额外依赖,针对大规模数据集做了性能优化,内存占用可控,无需手动处理分组拼接逻辑
  • 如果处理方法会修改输入的分组DataFrame,可开启pd.options.mode.copy_on_write = True避免修改原始数据同时降低内存消耗
  • 若需要保留分组层级的索引,可删除group_keys=False和reset_index相关参数,结果会保留分组键作为多级索引

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:45:04