панды слияние сортируют столбцы
result = df1.merge(df2, how='outer').sort_index(axis=1)
Wrong Weasel
result = df1.merge(df2, how='outer').sort_index(axis=1)