首页 > 解决方案 > 熊猫仅在后一行有值时才填充 na

问题描述

如果您有熊猫数据框

A    B    C
1    1    NA
2    1    1
3    NA   3
NA   NA   NA
4    NA   NA
5    NA   4

如果 NA 和数据帧末尾之间存在值,我只想填充 na。这可能吗?

所以输出将是

A    B    C
1    1    NA
2    1    1
3    NA   3
3    NA   3
4    NA   3
5    NA   4

标签: pythonpandas

解决方案


使用ffillbfill

df.ffill().where(df.bfill().notna())
# Or,
# df.where(df.bfill().isna(), df.ffill())

     A    B    C
0  1.0  1.0  NaN
1  2.0  1.0  1.0
2  3.0  NaN  3.0
3  3.0  NaN  3.0
4  4.0  NaN  3.0
5  5.0  NaN  4.0

推荐阅读