¿Cómo combino dos marcos de datos en Python Pandas?

12

Tengo dos marcos de datos df1 y df2 y me gustaría fusionarlos en un solo marco de datos. Es como si df1 y df2 se hubieran dividido verticalmente en un solo cuadro de datos en el centro, como rasgar un trozo de papel que contiene una lista por la mitad, de modo que la mitad de las columnas van en un papel y la otra mitad en el otro. Me gustaría fusionarlos nuevamente. ¿Cómo lo hago?

sebastianspiegel
fuente

Respuestas:

7

Pandas tiene una función de fusión incorporada. Por favor, consulte la documentación

End-result should be something like this:
df_merged = pd.merge(df1, df2, left_on=['name_indexcolumn_df1_here'],
              right_on=['name_indexcolumn_df2_here'],
              how='inner')
Rolf Schorpion
fuente
4

Si divide el DataFrame "verticalmente", entonces tiene dos DataFrames que tienen el mismo índice.

Puede usar la función de fusión o la función concat .

Con concat with sería algo como esto:

pandas.DataFrame.concat([df1,df2], axis=1)

Con fusionar con sería algo como esto:

pandas.Dataframe.merge([df1,df2], left_index=True)

Para las opciones de intercalación más complejas ver el Merge, unirse y concat pandas tutorial .

João Almeida
fuente
1
fusionar está mal ... ¿has intentado ejecutar el código?
Jorge Leitao