Pular para o conteúdo

Como usar o método merge para combinar DataFrames?

[

Combinando dados no pandas com merge(), .join() e concat()

por Kyle Stratis 6 Comentários data-science intermediário

Os objetos Series e DataFrame no pandas são ferramentas poderosas para explorar e analisar dados. Parte do seu poder vem de uma abordagem multifacetada para combinar conjuntos de dados separados. Com o pandas, você pode mesclar, juntar e concatenar seus conjuntos de dados, permitindo unificar e compreender melhor seus dados à medida que os analisa.

Neste tutorial, você aprenderá como e quando combinar seus dados no pandas com:

  • merge() para combinar dados em colunas ou índices comuns
  • .join() para combinar dados em uma coluna-chave ou índice
  • concat() para combinar DataFrames em linhas ou colunas

Você pode acompanhar os exemplos neste tutorial usando o Jupyter Notebook interativo e os arquivos de dados disponíveis no link abaixo:

Observação: As técnicas que você aprenderá abaixo geralmente funcionam tanto para objetos DataFrame quanto para Series. Mas, para simplicidade e concisão, os exemplos usarão o termo conjunto de dados para se referir a objetos que podem ser DataFrames ou Series.

merge() no pandas: combinando dados em colunas ou índices comuns

A primeira técnica que você aprenderá é o merge(). Você pode usar merge() sempre que quiser funcionalidade semelhante às operações de join de um banco de dados. É a operação mais flexível das três que você aprenderá.

Quando você deseja combinar objetos de dados com base em uma ou mais chaves, semelhante ao que faria em um banco de dados relacional, o merge() é a ferramenta necessária. Mais especificamente, o merge() é mais útil quando você deseja combinar linhas que compartilham dados.

Você pode alcançar tanto join muitos para um quanto muitos para muitos com o merge(). Em um join muitos para um, um dos seus conjuntos de dados terá muitas linhas na coluna de junção que repetem os mesmos valores. Por exemplo, os valores podem ser 1, 1, 3, 5 e 5. Ao mesmo tempo, a coluna de junção no outro conjunto de dados não terá valores repetidos. Pegue como exemplo 1, 3 e 5.

Como você deve ter imaginado, em um join muitos para muitos, ambas as suas colunas de junção terão valores repetidos. Essas fusões são mais complexas e resultam no produto cartesiano das linhas juntas.

Isso significa que, após o merge, você terá todas as combinações de linhas que compartilham o mesmo valor na coluna de junção.