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

如何修改pandas DataFrame中NaN值前后相邻的数值?

Pandas DataFrame修改NaN值相邻数值的实现方案

你可以通过移位判断相邻位置是否为NaN,生成掩码后批量赋值,完整实现代码如下:

import pandas as pd
import numpy as np

# 构造示例DataFrame
df = pd.DataFrame({"a":[1, np.nan, 3, 5 , 6,3,np.nan],"b":[np.nan, 2, np.nan, 7,2,1,1],"c":[np.nan,4, 8, 9,7,6,5]})

# 生成匹配规则:当前值非空,且上一个/下一个位置为NaN
mask = df.notna() & (df.shift(1).isna() | df.shift(-1).isna())
# 符合规则的位置赋值为0
df[mask] = 0

# 输出结果验证
print(df)

运行后得到的结果和你给出的预期输出完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:39:01