我正在尝试填写下面的时间序列的缺失值。我正在使用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值的方法吗?在过去的几个小时里,我一直在谷歌搜索这个问题,似乎找不到任何东西。
答案 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