Como mesclar dois quadros de dados no Python Pandas?

12

Eu tenho dois quadros de dados df1 e df2 e gostaria de mesclá-los em um único quadro de dados. É como se o df1 e o df2 fossem criados dividindo um único quadro de dados verticalmente no centro, como rasgar um pedaço de papel que contém uma lista ao meio para que metade das colunas fique em um papel e metade das colunas no outro. Eu gostaria de juntá-los novamente. Como eu faço isso?

sebastianspiegel
fonte

Respostas:

7

O Pandas possui uma função de mesclagem integrada. Por favor, consulte a documentação

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
fonte
4

Se você dividir o DataFrame "verticalmente", terá dois DataFrames com o mesmo índice.

Você pode usar a função de mesclagem ou a função de concat .

Com concat com seria algo como isto:

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

Com mesclar com seria algo como isto:

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

Para opções de mesclagem mais complexas, consulte o tutorial Mesclar, ingressar e concat pandas .

João Almeida
fonte
11
a mesclagem está errada ... você tentou executar o código?
Jorge Leitao