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

如何按指定分组配置对pandas DataFrame列数据执行聚合计算

实现方案

完全可以实现该需求,核心思路是通过分组映射表建立变量名到分组的对应关系,再对原DataFrame的列按分组聚合求和即可,不需要提前知道每个分组的变量数量。

完整可运行代码

import pandas as pd

# 测试数据
data = {'RPI':[1], 'IP':[1], 'Labor1':[2], 'Labor2':[2], 'Housing1':[3], 'Housing2':[3]}
df = pd.DataFrame(data)
groups = {'Description':['RPI','IP','Labor1','Labor2','Housing1','Housing2'],
          'Groups':['Real','Real','Labor','Labor','Housing','Housing']}
groups = pd.DataFrame(groups)

# 1. 建立变量名到分组的映射字典
group_map = dict(zip(groups['Description'], groups['Groups']))
# 2. 对原df的列按映射分组,求和聚合
aggregate = df.groupby(group_map, axis=1).sum()

# 输出验证
print(aggregate)

代码说明

  • 第一步先把分组对照表转成变量名:分组名的字典,作为后续分组的依据
  • 第二步调用pandas的groupby方法,指定axis=1按列分组,直接调用sum()就可以得到每个分组下所有变量的加总结果,输出的就是你需要的维度为[1,分组数]的DataFrame,完全兼容126列转8个分组的使用场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 03:27:03