我想用缺失值之前和之后单元格的平均值填充 pandas 数据框中的缺失值。因此,如果它是 [1, NaN, 3],则 NaN 值将为 2,因为 (1 + 3)/2。我找不到任何方法可以用 Pandas 或 Scikit-learn 来做到这一点。有什么办法可以做到这一点吗?
考虑这个数据框
df = pd.DataFrame({'val': [1,np.nan, 4, 5, np.nan, 10]})
val
0 1.0
1 NaN
2 4.0
3 5.0
4 NaN
5 10.0
您可以将 fillna 与 shift() 一起使用来获得所需的输出
df.val = df.val.fillna((df.val.shift() + df.val.shift(-1))/2)
You get
val
0 1.0
1 2.5
2 4.0
3 5.0
4 7.5
5 10.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)