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

Python实现SumIf等效功能 完成DataFrame按条件分组聚合计算

你可以直接使用pandas的groupby + 命名聚合语法实现,无需多次分组再关联,两种常用的简洁写法如下:

写法1(直接聚合过滤)

res = df.groupby('Key', as_index=False).agg(
    Total_Amount=('Amount', 'sum'),
    Bitcoin_Amount=('Amount', lambda s: s[df.loc[s.index, 'Bitcoin'] == 1].sum())
)

写法2(预生成临时列,性能更优,适合大数据量)

res = df.assign(Bitcoin_Amount=df['Amount'] * df['Bitcoin']).groupby('Key', as_index=False).agg(
    Total_Amount=('Amount', 'sum'),
    Bitcoin_Amount=('Bitcoin_Amount', 'sum')
)

两种写法都可以直接得到你需要的结果:对每个Key统计所有交易的总金额,同时统计Bitcoin标识为1的交易金额总和。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:06:05