df1 = pd.DataFrame(columns=['a','B','c','D'])
df2 = pd.DataFrame({'a':[1,2],'B':[3,4]})
I'd like to update the empty columns in df1 with df2 but keeping the original column order. I tried
df1.combine_first(df2)
but this changes the order of the columns
B D a c
0 3 NaN 1 NaN
1 4 NaN 2 NaN