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

如何在pandas中通过前值加2的方式动态替换NaN值

你可以直接用fillna配合shift方法实现,一行代码即可完成需求:

df['ColumnD'] = df['ColumnD'].fillna(df['ColumnD'].shift() + 2)

逻辑说明

  • df['ColumnD'].shift() 会将整列数据向下偏移一行,每个NaN的位置刚好对应上一行的原值
  • 偏移后的值统一加2,刚好匹配你需要的计算规则
  • 最后调用fillna将原列的NaN替换为计算得到的结果

如果你的实际场景中存在连续多个NaN的情况,可以用遍历的方式兼容:

import pandas as pd

for i in range(1, len(df)):
    if pd.isna(df.loc[i, 'ColumnD']):
        df.loc[i, 'ColumnD'] = df.loc[i-1, 'ColumnD'] + 2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:36:08