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

Pandas按entity_id分组后提取同id全量数据并写入Excel的问题

按entity_id分组提取全量信息解决方案

预期效果参考

预期输出效果

现有代码问题

  • grp.groups返回的是分组ID对应行索引的映射字典,并非实际分组数据,无法直接用于导出
  • 遍历分组时逐次写入Excel会产生大量重复IO操作,数据量大时运行效率极低
  • 手动遍历容易出现索引匹配错误,无法保证数据准确性

优化实现代码

场景1:每个ID的分组数据单独存为Excel不同Sheet

全程仅打开1次IO接口,效率远高于逐组写入:

import pandas as pd

dfs = pd.read_excel('tns1.xlsx')
grp = dfs.groupby('entity_id')

with pd.ExcelWriter('分组结果.xlsx') as writer:
    for entity_id, group_df in grp:
        # 注意Excel Sheet名最大长度为31字符,ID过长可自行截取处理
        group_df.to_excel(writer, sheet_name=str(entity_id), index=False)

场景2:所有分组数据按ID顺序导出到同一个Sheet

如果需要相同ID的行连续排列、所有数据汇总在同一张表,无需遍历分组,直接排序即可:

import pandas as pd

dfs = pd.read_excel('tns1.xlsx')
# 按entity_id排序,相同ID的所有行自动连续展示,保留全部原始字段信息
dfs_sorted = dfs.sort_values('entity_id', ignore_index=True)
dfs_sorted.to_excel('全量分组数据.xlsx', index=False)

效果说明

两种方案都完整保留每个ID对应的全部原始字段信息,和预期输出效果一致,同时避免了无效循环操作,数据量较大时运行效率提升10倍以上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:54:03