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

Pandas使用Resample结合Interpolate重采样时数值列产生NaN问题

问题原因

直接执行df.resample("12h").interpolate()返回全NaN的核心原因是:

  • resample("12h")生成的是按12小时拆分的时间分组对象,此时调用interpolate()会以单个12小时分箱为独立单位执行插值
  • 原始数据是日频,所有非空值都落在每日0点的分箱边界,每个12小时分箱内最多只有1个非空值,不满足插值需要至少2个相邻参考值的要求,因此非边界位置全部返回NaN
修复方案

先通过asfreq()完成频率转换,将原始值对齐到12小时间隔的连续时间索引上,再调用插值方法即可得到步长0.5的预期结果:

# 先转成12h频率的规整结构,再做线性插值
result = df.resample("12h").asfreq().interpolate()

执行后返回的结果中,每日0点位置保留原始0-5的整数值,每日12点位置会自动插入0.5、1.5、2.5、3.5、4.5的插值结果,和预期完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 22:54:20