首页 > 解决方案 > pandas.interpolate (method = 'linear') 只复制第一个和最后一个点的值

问题描述

我对pandas.interpolate.

我有一个从 2011 年到 2017 年的 pandas 数据框。我有时会缺少值,所以我使用 interpolate with method='linear'andlimit_direction='both'来填补空白。

下面的屏幕截图显示了原始数据帧(顶部)和插值结果(底部)。

当缺失值位于非缺失值之间时,一切正常:在下面的示例中,2016 年生成了一个全新的值。

但是当 NA 在系列的开头或结尾时,我对结果并不满意,因为事实证明它只是下一个非缺失值的副本:在下面的示例中,您可以看到2011 年和 2012 年的值与 2013 年相同。

在此处输入图像描述

然后,我尝试使用method='polynomial'withorder=2来获得“更平滑”的插值,但出现以下错误:

ValueError: number of derivatives at boundaries.

有人可以向我解释为什么我做错了,我可以使用哪种方法来获得一个很好的插值,包括第一个和最后一个值?

标签: pythonpandas

解决方案


推荐阅读