首页 > 解决方案 > 重新采样插值 Pandas 数据帧,插值到 NaN

问题描述

我有一个带有日期时间索引和单列的 Pandas 数据框。日期时间索引不是规则间隔的(而是有序的),并且列中的相应值是数字或 NaN。

我的目标是将这些条目插入到每小时的日期时间。我可以使用以下代码段来做到这一点:

df = dataframe.resample('H')
interpolated = df.interpolate(method='linear')

其中dataframe是我的原始数据框,interpolated是插值后的数据框。

这工作得很好,但问题是这个函数似乎在 NaN 值上进行插值,这不是我想要的。理想情况下,如果函数尝试在两个条目之间进行插值,其中至少一个是 NaN,我希望函数返回 NaN(因此,如果我在 NaN 和 NaN 之间进行插值:返回 NaN;如果我在 NaN 和 5 之间进行插值:返回 NaN;如果我在 3 和 5 之间插值:返回 4)。

我可以编写自己的蛮力插值器来执行此操作,但我更愿意掌握 Pandas。这似乎是一个非常简单的问题 - 有人知道实现这一目标的方法吗?

标签: python-3.xpandasdataframeinterpolation

解决方案


推荐阅读