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

Pandas分组聚合:如何批量为多列指定first函数无需逐个声明?

分组聚合时批量为多列应用first函数的简便方法

当你有包含多列的Pandas DataFrame,需要按某列分组后,仅对指定列求和、其余所有列保留第一个值时,完全不用逐个列名指定first方法,以下是几种简便实现方式:

方法一:构造聚合字典

先筛选出需要应用first的列(排除分组键和要求和的列),再批量生成聚合规则:

# 获取除分组键V1、求和列V2外的所有列
first_columns = [col for col in df.columns if col not in ['V1', 'V2']]
# 初始化聚合字典,添加V2的求和规则
agg_rules = {'V2': 'sum'}
# 批量添加其余列的first规则
agg_rules.update({col: 'first' for col in first_columns})
# 执行分组聚合
summedDF = df.groupby('V1').agg(agg_rules)

方法二:利用关键字参数展开

通过字典推导生成关键字参数,直接在agg中指定:

summedDF = df.groupby('V1').agg(
    V2=('V2', 'sum'),
    **{col: (col, 'first') for col in df.columns.drop(['V1', 'V2'])}
)

这两种方法都能自动适配任意数量的列,无需手动逐个列名编写first规则,不管你的DataFrame是25列还是更多,都能轻松处理。

内容的提问来源于stack exchange,提问作者i.i.k.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:32:10