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

如何基于DataFrame中diff列条件对对应ts列求和生成SUM列

解决方案

假设你的DataFrame名为df,可以通过以下步骤实现需求:

  1. 提取用于判断的diff列和待求和的ts列:

    • diff列:ts1_diff, ts2_diff, ts3_diff
    • ts列:ts1, ts2, ts3
  2. 生成布尔掩码,标记哪些diff列的值≥0:

    mask = df[['ts1_diff', 'ts2_diff', 'ts3_diff']] >= 0
    
  3. 将ts列与掩码相乘(布尔值自动转为0/1,不满足条件的ts值会被置为0),再按行求和生成SUM列:

    df['SUM'] = df[['ts1', 'ts2', 'ts3']].mul(mask).sum(axis=1)
    

完整示例

假设你的DataFrame初始数据如下:

idts1ts2ts3ts1_diffts2_diffts3_diff
1235-1-23
2343210

运行代码后,生成的SUM列结果如下:

idts1ts2ts3ts1_diffts2_diffts3_diffSUM
1235-1-235
234321010

这个方法通过布尔掩码精准筛选需要参与求和的ts值,操作简洁高效,完全匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 13:15:29