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

如何仅对DataFrame中属于指定列表的行执行groupby求和?

解决方案

方法一:先筛选再分组求和

先通过布尔索引筛选出A列值属于my_list的行,再执行分组求和操作:

# 筛选符合条件的数据
filtered_df = df[df['A'].isin(my_list)]
# 按A列分组并对B列求和
result = filtered_df.groupby('A')['B'].sum()

执行后输出结果:

A
foo    60
bar    80
Name: B, dtype: int64

方法二:分组后过滤分组键

先完成全部分组计算,再直接过滤出分组键在my_list中的结果:

result = df.groupby('A')['B'].sum().filter(my_list)

该方法会直接返回仅包含foo和bar的求和结果,与方法一输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:55:18