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

Pandas实现GroupBy子级转列:按ID、CD分组后重塑数据

Pandas分组求和结果转宽表实现方案

嘿,这个需求用Pandas的unstack()方法就能轻松搞定,完全匹配你想要的宽表展示格式!

实现步骤说明

你已经通过gp1.groupby(by=['ID', 'CD'])['BALANCE_AM'].sum()得到了一个带**多层索引(ID+CD)**的Series结果,要把CD类型转为独立列,只需要对这个结果执行unstack()操作即可:

具体代码

# 先执行分组求和得到多层索引的Series
sum_result = gp1.groupby(by=['ID', 'CD'])['BALANCE_AM'].sum()

# 将内层索引(CD)转为列,得到目标宽表
result_df = sum_result.unstack(level='CD')

执行后得到的result_df就是你期望的格式:

ID55812347
43320.00.022656.0NaN
756423NaNNaN227655.0645087.0

可选优化:替换缺失值

如果希望把表中的NaN替换为0(比如表示该ID没有对应CD类型的余额),可以在unstack()后加上fillna(0):

result_df = sum_result.unstack(level='CD').fillna(0)

这样输出的缺失值就会变成0,更符合部分场景的展示需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:55:46