![](https://hub.asimov.academy/wp-content/uploads/2024/06/ThumbCursoExplorandoAPIOpenAI-1-14.webp)
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.
![](https://hub.asimov.academy/wp-content/uploads/2024/06/maxresdefault-6.jpg)
Comentários