我希望填充 df
中的空值(nan
),使用相邻元素的平均值。
考虑一个数据框:
df = pd.DataFrame({'val': [1,np.nan, 4, 5, np.nan, 10, 1,2,5, np.nan, np.nan, 9]})
val
0 1.0
1 NaN
2 4.0
3 5.0
4 NaN
5 10.0
6 1.0
7 2.0
8 5.0
9 NaN
10 NaN
11 9.0
我期望的输出是:
val
0 1.0
1 2.5
2 4.0
3 5.0
4 7.5
5 10.0
6 1.0
7 2.0
8 5.0
9 7.0 <<< deadend
10 7.0 <<< deadend
11 9.0
我已经查看了其他解决方案,例如填充包含NaN的单元格,使用前后值的平均值,但是如果有两个或两个以上连续的np.nan
,这种方法就行不通。
非常感谢您提供的任何帮助!
NaN
被填充相同的值?难道你不是真的想要在定义的值之间进行线性插值吗? - pipe