我需要先将baseDf和AdditionalDf与熊猫结合起来。 如何将ffill()用于baseDf,如何将fillna(-1)用于第二个?
例如: baseDf:
qty total
1 10 10
2 5 15
4 4 19
6 8 27
8 2 29
additionalDf:
val
3 400
5 150
7 60
我想要得到的是:
qty total val
1 10 10 -1
2 5 15 -1
3 5 15 400
4 4 19 -1
5 4 19 150
6 8 27 -1
7 8 27 60
8 2 29 -1
但是如果我写:
baseDf.combine_first(additionalDf).ffill().fillna(-1)
我得到:
qty total val
1 10 10 -1
2 5 15 -1
3 5 15 400
4 4 19 400
5 4 19 150
6 8 27 150
7 8 27 60
8 2 29 60
谢谢!
答案 0 :(得分:3)
只需更改fillna
和fffill
的位置
baseDf.combine_first(additionalDf).fillna({'val':-1}).ffill()
Out[360]:
qty total val
1 10.0 10.0 -1.0
2 5.0 15.0 -1.0
3 5.0 15.0 400.0
4 4.0 19.0 -1.0
5 4.0 19.0 150.0
6 8.0 27.0 -1.0
7 8.0 27.0 60.0
8 2.0 29.0 -1.0