我有两个数据框:
Df_1:
A B C D
1 10 nan 20 30
2 20 30 20 10
Df_2:
A B
1 10 40
2 30 70
我想将它们合并,并得到最终的数据框。
A B C D
1 10 40 20 30
2 20 30 20 10
3 30 70 nan nan
我该怎么做?
答案 0 :(得分:0)
我认为,根据预期结果, Df_2 第二行中的索引 应该是 3 (而不是 2 )。
运行Df_1.combine_first(Df_2)
。
结果是:
A B C D
1 10.0 40.0 20.0 30.0
2 20.0 30.0 20.0 10.0
3 30.0 70.0 NaN NaN
即由于可能的 NaN 值,列的类型被强制为 float 。
但是,如果需要,可以通过应用 to_numeric
来尽可能地还原它。Df_1.combine_first(Df_2).apply(pd.to_numeric, downcast='integer')