Tutoriais

Como Unir Duas Tabelas e Manter Registros Não Correspondentes

Ana Maria Gomes 08 fev Básico 5xp
Compartilhar

Quando trabalhamos com análise de dados em Python, frequentemente nos deparamos com a necessidade de unir duas tabelas. A biblioteca Pandas oferece uma função poderosa chamada merge, que permite combinar DataFrames. Neste tutorial, vamos aprender a configurar o merge para unir duas tabelas, mantendo também os registros que não correspondem entre elas.

Entendendo o Merge em Pandas

O merge é uma função que combina dois DataFrames baseados em uma ou mais chaves em comum. O comportamento padrão é realizar um “inner join”, que mantém apenas as linhas que têm correspondência em ambas as tabelas. No entanto, podemos alterar esse comportamento para incluir todas as linhas, mesmo aquelas que não têm correspondência, utilizando o argumento how.

Configurando o Merge para um Full Outer Join

Para manter todos os registros de ambas as tabelas, utilizamos o how='outer'. Isso é conhecido como “full outer join” e garante que nenhuma informação seja perdida durante a união.

Exemplo Prático

Vamos considerar dois DataFrames de exemplo:

import pandas as pd

# DataFrame esquerda
esquerda = pd.DataFrame({
    'chave': ['K0', 'K1', 'K2', 'K3'],
    'A': ['A0', 'A1', 'A2', 'A3'],
    'B': ['B0', 'B1', 'B2', 'B3']
})

# DataFrame direita
direita = pd.DataFrame({
    'chave': ['K0', 'K1', 'K4', 'K5'],
    'C': ['C0', 'C1', 'C4', 'C5'],
    'D': ['D0', 'D1', 'D4', 'D5']
})

Para unir esses DataFrames mantendo todos os registros, fazemos o seguinte:

resultado = pd.merge(esquerda, direita, on='chave', how='outer')

O resultado será um DataFrame que inclui todas as linhas de ambos os DataFrames. As colunas que não têm correspondência serão preenchidas com NaN (Not a Number), que é o marcador padrão do Pandas para dados ausentes.

Visualizando o Resultado

print(resultado)

O output será:

  chave    A    B    C    D
0    K0   A0   B0   C0   D0
1    K1   A1   B1   C1   D1
2    K2   A2   B2  NaN  NaN
3    K3   A3   B3  NaN  NaN
4    K4  NaN  NaN   C4   D4
5    K5  NaN  NaN   C5   D5

Como podemos observar, as linhas K2 e K3 da tabela esquerda e K4 e K5 da tabela direita foram mantidas, apesar de não terem correspondência na outra tabela.

Considerações Finais

O merge com how='outer' é uma ferramenta extremamente útil quando não queremos perder dados durante a união de tabelas. É importante lembrar que, ao trabalhar com grandes conjuntos de dados, esse tipo de operação pode aumentar significativamente o tamanho do DataFrame resultante, o que pode impactar o desempenho da análise.

Agora que você aprendeu a configurar o merge para manter registros não correspondentes, pode aplicar esse conhecimento em seus projetos de análise de dados e garantir que nenhuma informação valiosa seja descartada.

Cursos gratuitos para continuar aprendendo

Curso
Grátis · 2h 13min

Python para iniciantes: do zero ao primeiro projeto

Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!

Curso
Grátis · 3h 47min

Python para dados: do zero à análise completa

Saia do zero e analise dados com Python e Pandas neste curso gratuito com certificado!

Analista de Dados
Curso
Grátis · 4h 11min

Python para IA: do zero ao primeiro chatbot

Aprenda a programar com Python e explore a inteligência artificial! Crie um chatbot prático que interage com seus próprios dados. Comece agora!

Ver todos os cursos

0 comentários

Exclusivo PRO
Faça parte da discussão

Comente e participe da conversa

Crie sua conta gratuita e compartilhe sua opinião nos comentários.

Entre para a Asimov