GOOGLE ADS

jueves, 21 de abril de 2022

Cómo fusionar marcos de datos de pandas con diferentes nombres de columna

ingrese la descripción de la imagen aquí

¿Puede alguien decirme cómo puedo lograr resultados como los de la imagen de arriba, pero con las siguientes diferencias?

# Note the column names
df1 = pd.DataFrame({"A": ["A0", "A1", "A2", "A3"],
"B": ["B0", "B1", "B2", "B3"],
"C": ["C0", "C1", "C2", "C3"],
"D": ["D0", "D1", "D2", "D3"],
},
index = [0, 1, 2, 3],
)

# Note the column names
df2 = pd.DataFrame({"AA": ["A4", "A5", "A6", "A7"],
"BB": ["B4", "B5", "B6", "B7"],
"CC": ["C4", "C5", "C6", "C7"],
"DD": ["D4", "D5", "D6", "D7"],
},
index = [4, 5, 6, 7],
)

# Note the column names
df3 = pd.DataFrame({"AAA": ["A8", "A9", "A10", "A11"],
"BBB": ["B8", "B9", "B10", "B11"],
"CCC": ["C8", "C9", "C10", "C11"],
"DDD": ["D8", "D9", "D10", "D11"],
},
index = [8, 9, 10, 11],
)

Cada tipo de fusión que hago da como resultado esto:

ingrese la descripción de la imagen aquí

Esto es lo que estoy tratando de lograr:

  • Estoy haciendo mi Proyecto Capstone, y el caso de uso usa el SpaceXconjunto de datos. He rastreado las tablas que se encuentran aquí: SpaceX Falcon 9 Wikipedia,

  • Ahora estoy tratando de combinarlos en una mesa grande. Sin embargo, hay ligeras diferencias en los nombres de las columnas, entre cada tabla, por lo que tengo que aplicar más lógica para fusionar correctamente. Hay 10 tablas en total, he comprobado 5. 3 tienen nombres de columna únicos, por lo que la combinación simple no funciona.


  • He buscado en las otras preguntas, pero el caso de uso es diferente al mío, por lo que no he encontrado una respuesta que funcione para mí.


  • Realmente agradecería la ayuda de alguien, o que me indiquen dónde puedo encontrar más información sobre el tema. Hasta ahora no he tenido suerte en mis búsquedas.


    Solución del problema

    Solo hagamosnp.concatenate

    out = pd.DataFrame(np.concatenate([df1.values,df2.values,df3.values]),columns=df1.columns)
    Out[346]:
    A B C D
    0 A0 B0 C0 D0
    1 A1 B1 C1 D1
    2 A2 B2 C2 D2
    3 A3 B3 C3 D3
    4 A4 B4 C4 D4
    5 A5 B5 C5 D5
    6 A6 B6 C6 D6
    7 A7 B7 C7 D7
    8 A8 B8 C8 D8
    9 A9 B9 C9 D9
    10 A10 B10 C10 D10
    11 A11 B11 C11 D11

    No hay comentarios.:

    Publicar un comentario

    Flutter: error de rango al acceder a la respuesta JSON

    Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...