用 Python 中最接近的非 NaN 列值填充 NaN



我想用列的值填充eNaN(从左侧开始的位置(not NaN列的值。

a    b    c    d    e
0  1  2.0  3.0  6.0  3.0
1  3  5.0  7.0  NaN  NaN
2  2  4.0  NaN  NaN  NaN
3  5  6.0  NaN  NaN  NaN
4  3  NaN  NaN  NaN  NaN

例如,对于第二行e,它最接近Not NaN列是按位置e,那么我们取7.0,在熊猫中可以这样做吗?谢谢。

预期输出如下所示:

a    b    c    d    e
0  1  2.0  3.0  6.0  3.0
1  3  5.0  7.0  NaN  7.0
2  2  4.0  NaN  NaN  4.0
3  5  6.0  NaN  NaN  6.0
4  3  NaN  NaN  NaN  3.0

如果答案应该简化,请获取从左侧到最后一列的所有第一个非缺失值,请使用向前填充它们并按位置选择最后一列:

df.e = df.ffill(axis=1).iloc[:, -1]

最新更新