使用下一个和上一个值填充时间序列中的缺失值

时间:2017-12-14 15:46:35

标签: python pandas dataframe linear-interpolation

我正在尝试填写下面的时间序列的缺失值。我正在使用Python3。

Week Rainfall(cm)
1    1 
2    NaN
3    9
4    10
5    11
6    NaN
7    NaN
8    14

我不想用平均值填充缺失的值。如果我手工进入并填写NaN值,我可能会猜测第2周的降雨量为5厘米,第6周和第7周的降雨量分别为12厘米和13厘米。

我想在第2周做到这一点,价值是第1周(1cm降雨量)和第3周(降雨量9cm)的平均值。 (例如,第2周将有5厘米的降雨量。)

虽然这有点复杂......

在第6周和第7周,我想让NaN值充满12和13,因为如果你要在第5周(11厘米降雨量)和第8周(降雨量14厘米)之间画一条线预计6周和7周的降雨量将分别为12厘米和13厘米。

有人能想出以我上面描述的方式填充NaN值的方法吗?在过去的几个小时里,我一直在谷歌搜索这个问题,似乎找不到任何东西。

1 个答案:

答案 0 :(得分:3)

您似乎指的是linear interpolation的过程。如果If IsNumeric(Controls("TextBox" & i).Value) Then Dim validInput As Double validInput = CDbl(Controls("TextBox" & i).Value) Data_Start.Offset(i, 0) = Data_Start.Offset(i, 0) + validInput End If 是您的DataFrame:

rf