Python

Como Realizar Operações de Junção e Concatenação no Pandas

Escrito por Erick Faria · 2 min. >
Junção e Concatenação no Pandas

Neste post, vamos explorar como realizar operações de Junção e Concatenação no Pandas, uma biblioteca Python amplamente utilizada para análise de dados. Essas operações são fundamentais quando precisamos combinar múltiplos DataFrames para realizar análises mais abrangentes. Vamos criar DataFrames de exemplo e abordar várias técnicas para realizar junção e concatenação utilizando métodos do Pandas.

Junção e Concatenação no Pandas

Operações de junção e concatenação são métodos para combinar dois ou mais DataFrames. A junção (merge) combina DataFrames com base em uma ou mais colunas-chave, enquanto a concatenação (concat) combina DataFrames ao longo de um eixo (horizontal ou verticalmente). Essas operações são essenciais para consolidar dados de diferentes fontes ou realizar análises comparativas.

Criando DataFrames de Exemplo

Vamos começar criando dois DataFrames simples para ilustrar as operações de junção e concatenação:

# Junção e Concatenação no Pandas
import pandas as pd

data1 = {
    'ID': [1, 2, 3, 4],
    'Nome': ['João', 'Ana', 'Carlos', 'Marta'],
    'Idade': [23, 45, 36, 41]
}

data2 = {
    'ID': [3, 4, 5, 6],
    'Cidade': ['São Paulo', 'Rio de Janeiro', 'Belo Horizonte', 'Salvador'],
    'Salário': [8000, 6000, 7500, 6200]
}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

Operações de Junção (Merge)

Junção Interna (Inner Join)

A junção interna combina DataFrames com base em valores correspondentes nas colunas-chave. Retorna apenas as linhas com chaves correspondentes em ambos os DataFrames.

# Junção e Concatenação no Pandas
df_inner = pd.merge(df1, df2, on='ID', how='inner')

Junção Externa (Outer Join)

A junção externa retorna todas as linhas de ambos os DataFrames, preenchendo com NaN onde não há correspondência.

# Junção e Concatenação no Pandas
df_outer = pd.merge(df1, df2, on='ID', how='outer')

Junção à Esquerda (Left Join)

A junção à esquerda retorna todas as linhas do DataFrame da esquerda e as linhas correspondentes do DataFrame da direita.

# Junção e Concatenação no Pandas
df_left = pd.merge(df1, df2, on='ID', how='left')

Junção à Direita (Right Join)

A junção à direita retorna todas as linhas do DataFrame da direita e as linhas correspondentes do DataFrame da esquerda.

# Junção e Concatenação no Pandas
df_right = pd.merge(df1, df2, on='ID', how='right')

Operações de Concatenação (Concat)

Concatenando DataFrames Verticalmente

Podemos concatenar DataFrames verticalmente (adicionando linhas) usando o método concat():

# Junção e Concatenação no Pandas
df_concat_vertical = pd.concat([df1, df2])

Concatenando DataFrames Horizontalmente

Para concatenar DataFrames horizontalmente (adicionando colunas):

# Junção e Concatenação no Pandas
df_concat_horizontal = pd.concat([df1, df2], axis=1)

Concatenando com Chaves

Podemos adicionar uma chave de identificação para cada DataFrame ao concatenar:

# Junção e Concatenação no Pandas
df_concat_keys = pd.concat([df1, df2], keys=['df1', 'df2'])

Operações Avançadas de Junção e Concatenação

Junção com Múltiplas Chaves

Podemos realizar junções com base em múltiplas colunas-chave:

# Junção e Concatenação no Pandas
data3 = {
    'ID': [1, 2, 3, 4],
    'Depto': ['HR', 'Finance', 'IT', 'Marketing']
}

df3 = pd.DataFrame(data3)

df_multi_key = pd.merge(df1, df3, on=['ID'])

Concatenando com Sobreposição

Quando concatenamos DataFrames com sobreposição de índices, podemos resolver conflitos:

df_overlap = pd.concat([df1.set_index('ID'), df2.set_index('ID')], axis=1, join='outer')

Para mais informações sobre como utilizar o Pandas para análise de dados, confira outros conteúdos no meu blog:

Considerações Finais

Espero que este guia tenha sido útil para aprender como realizar operações de junção e concatenação no Pandas. A prática é essencial para dominar essas técnicas, então encorajo você a experimentar e aplicar esses métodos em seus próprios projetos de análise de dados.

Para aprimorar suas habilidades com o Pandas e se tornar mais eficiente na manipulação de dados, é importante também fortalecer sua compreensão em Python. Recomendamos o livro Fundamentos em Python: Guia completo para Iniciantes, disponível na Amazon, que oferece uma introdução abrangente ao Python.

Junte-se à nossa comunidade no Twitter e inscreva-se no nosso canal do YouTube para acessar mais tutoriais, dicas e recursos. Continue praticando e explorando novas maneiras de manipular dados com o Pandas, e fique atento para mais guias e tutoriais que compartilharemos.

Escrito por Erick Faria
Engenheiro de Dados com Ph.D. em Geografia e experiência em análise espacial e geoprocessamento. Expertise em processamento de grandes volumes de dados geoespaciais, imagens de satélite e dados de mercado, utilizando ferramentas como Spark, Databricks e Google Earth Engine. Experiência em projetos de mercado de carbono, modelos preditivos para investimentos agrícolas e liderança de projetos de dados em saúde pública. Habilidades em Python, R, SQL e diversas ferramentas de engenharia de dados. Profile