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

基于前一行FPOS列值更新DataFrame的Drive列值

解决方案

你可以利用Pandas的shift()和cumsum()方法高效实现这个需求,核心逻辑是通过累加上一行FPOS的值,结合初始Drive值生成新的Drive列:

代码实现

假设你的DataFrame名为df,执行以下代码:

# 生成上一行FPOS的序列,第一行无前置行,填充0
prev_fpos = df['FPOS'].shift().fillna(0)
# 基于初始Drive值,累加前置FPOS的和得到新Drive列
df['Drive'] = df['Drive'].iloc[0] + prev_fpos.cumsum()

效果验证

用你的示例数据测试:
原始数据:

DriveFPOS
11
0
0
0
1
0
0

执行代码后,Drive列会被更新为:

DriveFPOS
11
20
20
20
21
30
30

完全符合你要求的逻辑:上一行FPOS为1时,当前Drive在上一行基础上加1;否则保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:31:01