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

Pandas调用interpolate插值时填充NaN而非生成插值值如何解决

Pandas 8Hz升采样16Hz线性插值NaN问题解决

错误原因

resample('62.5L')升采样操作生成的新增时间点默认填充为NaN,你将插值操作和升采样操作拆分执行,插值逻辑无法基于原始数据的取值间隔计算填充值,最终出现大量空值。

正确实现

直接在resample操作后链式调用插值方法替换原ffill()即可:

# 通用线性插值方案
new_df = new_df.resample('62.5L').interpolate(method='linear', limit_direction='both')

如果DataFrame索引为datetime时间类型,推荐使用时间专属插值,精度更高:

# 先确认索引格式,非datetime类型先转换
new_df.index = pd.to_datetime(new_df.index)
# 基于时间间隔的线性插值
new_df = new_df.resample('62.5L').interpolate(method='time', limit_direction='both')

补充说明

limit_direction='both'参数用于控制插值同时向序列首尾方向延伸填充,避免数据开头或结尾位置出现残留NaN。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:42:02