DataFrame中按指定条件对不同列数值求和的方法咨询
pandas 按指定条件对多列求和实现方案
以下是不同需求场景下的具体实现代码,你可以根据自己的列名和筛选规则调整参数:
- 按单列分组后对指定列求和
需求示例:按类别列分组,汇总统计不同类别的总销售额、总利润sum_df = df.groupby('类别')[['销售额', '利润']].sum().reset_index() - 单筛选条件下对指定列求和
需求示例:仅统计华东区域的总销售额、总成本hz_total = df.loc[df['区域'] == '华东', ['销售额', '成本']].sum() - 多筛选条件组合后对指定列求和
需求示例:统计华东区域、且订单量大于10的总销售额、总利润# 多个条件用&(与)、|(或)连接,每个条件需要用括号包裹 condition_total = df.loc[(df['区域'] == '华东') & (df['订单量'] > 10), ['销售额', '利润']].sum() - 逐行按条件计算求和值生成新列
需求示例:每行仅统计已完成订单的总收益,未完成订单的收益记为0df['完成订单收益'] = df.apply( lambda x: x['销售额'] + x['利润'] if x['订单状态'] == '已完成' else 0, axis=1 )
内容的提问来源于stack exchange,提问作者Sebastian Villalba
相关产品推荐
相关产品推荐

