Python 首先将_与ffill组合用于baseDf,将fillna组合用于additionalDf
我需要先结合一个基本DF和一个附加DF与熊猫。 如何将ffill()用于baseDf,将fillna(-1)用于第二个Python 首先将_与ffill组合用于baseDf,将fillna组合用于additionalDf,python,pandas,Python,Pandas,我需要先结合一个基本DF和一个附加DF与熊猫。 如何将ffill()用于baseDf,将fillna(-1)用于第二个 例如: baseDf: 附加DF: 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
例如: baseDf: 附加DF:
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
谢谢 只需更改
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
只需更改
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
杰出的非常感谢@Wen Ben,它工作得很好!我以前尝试过这个方法,但是使用了fillna(),它用-1填充了所有列中缺少的值。。。现在没事了!杰出的非常感谢@Wen Ben,它工作得很好!我以前尝试过这个方法,但是使用了fillna(),它用-1填充了所有列中缺少的值。。。现在没事了!