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

如何使用Pandas按Code列分组,为每行添加Thickness分组求和列?

如何用Pandas按Code分组并添加Thickness分组求和列?

原始数据集

NameCodeThickness
CH130.5
CH130.3
CH140.4
CH130.2
CH150.6
CH150.4

期望结果

NameCodeThicknessGrp_Thickness
CH130.50.8
CH130.30.8
CH140.40.4
CH130.20.2
CH150.61.0
CH150.41.0

实现方案

使用Pandas的groupby结合transform方法即可实现,transform能保留原始数据的行数,同时将分组计算结果映射到对应行。

代码示例

import pandas as pd

# 构造原始数据
data = {
    'Name': ['CH1', 'CH1', 'CH1', 'CH1', 'CH1', 'CH1'],
    'Code': [3, 3, 4, 3, 5, 5],
    'Thickness': [0.5, 0.3, 0.4, 0.2, 0.6, 0.4]
}
df = pd.DataFrame(data)

# 生成分组求和列
df['Grp_Thickness'] = df.groupby('Code')['Thickness'].transform('sum')

print(df)

代码说明

  • groupby('Code'):按照Code列的值对数据分组
  • ['Thickness'].transform('sum'):对每个分组内的Thickness求和,transform会将求和结果匹配到原数据的每一行,而非返回聚合后的分组结果
  • 最终生成的Grp_Thickness列,每个值对应该行所属Code分组的Thickness总和,且保持原始数据的行顺序与行数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 07:54:19