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

pandas基于flag列条件为新增final列递增值的实现问题

实现方案

核心逻辑:你的需求本质是给temp_1列叠加一个永久生效的累加增量,每遇到一次flag=1,增量就+1,这个增量刚好可以通过flag列的累积求和得到,直接将两部分相加即可得到final列。

完整实现代码如下:

import pandas as pd

# 构造示例DataFrame
data = {
    'temp_1': [1, 1, 1, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6],
    'flag': [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0]
}
df = pd.DataFrame(data)

# 计算final列
df['final'] = df['temp_1'] + df['flag'].cumsum()

# 输出验证结果
print(df)

df['flag'].cumsum()会逐行累计flag列的数值,每遇到一个1,后续所有行的累计结果都会比之前多1,完全匹配你要求的增量规则,运行后输出结果和你给出的预期完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:39:00