I have two dataframes:
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
I want to merge them and have this final dataframe.
  A  B  C  D
1 10 40 20 30
2 20 30 20 10
3 30 70 nan nan
How do I do that?
I have two dataframes:
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
I want to merge them and have this final dataframe.
  A  B  C  D
1 10 40 20 30
2 20 30 20 10
3 30 70 nan nan
How do I do that?
 
    
    Looking at the expected result, I think, the index in the second row of Df_2 should be 3 (instead of 2).
Run Df_1.combine_first(Df_2).
The result is:
      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
i.e. due to possible NaN values, the type of columns is coerced to float.
But if you want, you can revert this where possible, by applying to_numeric:
Df_1.combine_first(Df_2).apply(pd.to_numeric, downcast='integer')
