Pandas cómo concentrar dos marcos de datos sin perder los encabezados de columna

Tengo el siguiente código de juguete:

import pandas as pd df = pd.DataFrame() df["foo"] = [1,2,3,4] df2 = pd.DataFrame() df2["bar"]=[4,5,6,7] df = pd.concat([df,df2], ignore_index=True,axis=1) print(list(df)) 

Salida: [0,1]
Salida esperada: [foo,bar] (el orden no es importante)
¿Hay alguna forma de concatenar dos marcos de datos sin perder los encabezados de columna originales, si puedo garantizar que los encabezados serán únicos?
Iterar a través de las columnas y luego agregarlas a uno de los DataFrames me viene a la mente, pero ¿hay una función de pandas o un parámetro concat que no conozco?

¡Gracias!

Como se indica en la documentación de combinación, unión y concat , ignorar índice eliminará todas las referencias de nombre y usará un rango (0 … n-1) en su lugar. Por lo tanto, debería darle el resultado que desea una vez que elimine el argumento ignore_index o lo establezca en falso (predeterminado).

 df = pd.concat([df, df2], axis=1) 

Esto se unirá a su df y df2 en función de los índices (se concatenarán las mismas filas indexadas, si otro dataframe no tiene un miembro de ese índice, se concatenará como nano).

Si tiene una indexación diferente en sus marcos de datos y desea concatenarlos de esta manera. Puede crear un índice temporal y unirse a eso, o establecer las columnas del nuevo dataframe después de usar concat (…, ignore_index = True).