【发布时间】:2014-09-25 14:04:20
【问题描述】:
我想在 pandas 中这样做:
我有 2 个数据框,A 和 B,我只想用 B 值替换 A 的 NaN。
A
2014-04-17 12:59:00 146.06250 146.0625 145.93750 145.93750
2014-04-17 13:00:00 145.90625 145.9375 145.87500 145.90625
2014-04-17 13:01:00 145.90625 NaN 145.90625 NaN
2014-04-17 13:02:00 NaN NaN 145.93750 145.96875
B
2014-04-17 12:59:00 146 2/32 146 2/32 145 30/32 145 30/32
2014-04-17 13:00:00 145 29/32 145 30/32 145 28/32 145 29/32
2014-04-17 13:01:00 145 29/32 146 145 29/32 147
2014-04-17 13:02:00 146 146 145 30/32 145 31/32
Result:
2014-04-17 12:59:00 146.06250 146.0625 145.93750 145.93750
2014-04-17 13:00:00 145.90625 145.9375 145.87500 145.90625
2014-04-17 13:01:00 145.90625 146 145.90625 147
2014-04-17 13:02:00 146 146 145.93750 145.96875
【问题讨论】:
-
如果我没记错的话,
Result = A.fillna(B)应该这样做。 -
它有点工作,但前提是两个数据帧具有相同的索引(请参阅@Camilo 对 Foobar 答案的评论)。请注意,如果您只想用 B 中的非 NaN 值替换 A(即,用 B 中的现有值替换 A 中的值),A.update(b) 是完美的。