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

DataFrame中按指定条件对不同列数值求和的方法咨询

pandas 按指定条件对多列求和实现方案

以下是不同需求场景下的具体实现代码,你可以根据自己的列名和筛选规则调整参数:

  • 按单列分组后对指定列求和
    需求示例:按类别列分组,汇总统计不同类别的总销售额、总利润
    sum_df = df.groupby('类别')[['销售额', '利润']].sum().reset_index()
    
  • 单筛选条件下对指定列求和
    需求示例:仅统计华东区域的总销售额、总成本
    hz_total = df.loc[df['区域'] == '华东', ['销售额', '成本']].sum()
    
  • 多筛选条件组合后对指定列求和
    需求示例:统计华东区域、且订单量大于10的总销售额、总利润
    # 多个条件用&(与)、|(或)连接,每个条件需要用括号包裹
    condition_total = df.loc[(df['区域'] == '华东') & (df['订单量'] > 10), ['销售额', '利润']].sum()
    
  • 逐行按条件计算求和值生成新列
    需求示例:每行仅统计已完成订单的总收益,未完成订单的收益记为0
    df['完成订单收益'] = df.apply(
        lambda x: x['销售额'] + x['利润'] if x['订单状态'] == '已完成' else 0,
        axis=1
    )
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 21:06:02