使用下一个和上一个值填充时间序列中的缺失值
Filling Missing Values in a Time Series with Next and Prev Values
我正在尝试填充时间序列的缺失值,如下所示。我正在使用 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 周(1 厘米降雨量)和第 3 周(9 厘米降雨量)的平均值。 (例如,第 2 周降雨量为 5 厘米)。
不过这有点复杂...
在第 6 周和第 7 周,我想用 12 和 13 填充 NaN 值,因为如果你要在第 5 周(11 厘米降雨量)和第 8 周(14 厘米降雨量)之间画一条线) 您预计第 6 周和第 7 周的降雨量将分别为 12 厘米和 13 厘米。
有人能想出一种方法来按照我上面描述的方式填充 NaN 值吗?在过去的几个小时里,我一直在谷歌搜索这个问题,但似乎找不到任何东西。
你好像指的是linear interpolation的过程。如果 rf
是您的 DataFrame:
rf.interpolate()
Week Rainfall(cm)
0 1 1.0
1 2 5.0
2 3 9.0
3 4 10.0
4 5 11.0
5 6 12.0
6 7 13.0
7 8 14.0
我正在尝试填充时间序列的缺失值,如下所示。我正在使用 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 周(1 厘米降雨量)和第 3 周(9 厘米降雨量)的平均值。 (例如,第 2 周降雨量为 5 厘米)。
不过这有点复杂...
在第 6 周和第 7 周,我想用 12 和 13 填充 NaN 值,因为如果你要在第 5 周(11 厘米降雨量)和第 8 周(14 厘米降雨量)之间画一条线) 您预计第 6 周和第 7 周的降雨量将分别为 12 厘米和 13 厘米。
有人能想出一种方法来按照我上面描述的方式填充 NaN 值吗?在过去的几个小时里,我一直在谷歌搜索这个问题,但似乎找不到任何东西。
你好像指的是linear interpolation的过程。如果 rf
是您的 DataFrame:
rf.interpolate()
Week Rainfall(cm)
0 1 1.0
1 2 5.0
2 3 9.0
3 4 10.0
4 5 11.0
5 6 12.0
6 7 13.0
7 8 14.0