【发布时间】:2019-05-18 13:33:02
【问题描述】:
我在 df 中有两列,有时在任一列中都有 NaN,有时在两列中都有。如果存在任何列值,我想用相同的值填充 NaN。
例如, 输入:
col1 col2
0 3.375000 4.075000
1 2.450000 1.567100
2 NaN NaN
3 3.248083 NaN
4 NaN 2.335725
5 2.150000 3.218750
输出:
col1 col2
0 3.375000 4.075000
1 2.450000 1.567100
2 NaN NaN
3 3.248083 3.248083
4 2.335725 2.335725
5 2.150000 3.218750
为此我试过了,
print df.T.fillna(method='bfill').fillna(method='ffill').T
上面给了我一个必需的结果,但我认为我给我的代码增加了更多的复杂性。还有其他更好的方法吗?
【问题讨论】:
-
df.ffill(1).bfill(1)?