Pular para o conteúdo

Como usar/juntar dados com merge no DataFrame

[

Combinando Dados no Pandas com merge(), .join() e concat()

por Kyle Stratis (data-science)

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

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

  • 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

pandas merge(): Combinando Dados em Colunas ou Índices Comuns

A primeira técnica que você aprenderá é o merge(). Você pode usar o merge() sempre que quiser funcionalidades semelhantes às operações de join de um banco de dados. É a mais flexível das três operações 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 de que você precisa. Mais especificamente, o merge() é mais útil quando você deseja combinar linhas que compartilham dados.

Você pode realizar tanto muitos-para-um quanto muitos-para-muitos usando o merge(). Em uma junção muitos-para-um, um de 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. Tome como exemplo 1, 3 e 5.

Como você pode imaginar, em uma junção muitos-para-muitos, ambas as colunas de junção terão valores repetidos. Essas junções são mais complexas e resultam no produto cartesiano das linhas unidas.

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