Python

Como Unir DataFrames no Pandas

Escrito por Erick Faria · 2 min. >
Unir Dataframes no Pandas

Neste post, vamos explorar como unir DataFrames no Pandas, uma biblioteca Python amplamente utilizada para análise de dados. Vamos criar DataFrames de exemplo e, em seguida, abordar várias técnicas para unir dados utilizando os métodos merge e concat do Pandas.

Conhecendo o Pandas

Pandas é uma biblioteca poderosa e versátil, fundamental para manipulação e análise de dados em Python. Desde a sua criação em 2008, ela se tornou uma das ferramentas mais populares para cientistas de dados e analistas. O nome “Pandas” é uma referência ao termo “Panel Data”, utilizado em econometria.

Para quem está começando, o Pandas oferece duas principais estruturas de dados: as Series (unidimensionais) e os DataFrames (bidimensionais). Ambas são essenciais para manipulação de dados e permitem operações rápidas e eficientes.

Se você deseja uma introdução mais detalhada ao Pandas, confira o guia completo na documentação oficial do Pandas. Agora, vamos nos concentrar em como unir DataFrames usando o Pandas.

Unir DataFrames no Pandas

Antes de unir DataFrames, precisamos de exemplos para ilustrar as técnicas. Vamos criar dois DataFrames simples:

# Unir DataFrames 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)

Unindo DataFrames com merge

O método merge é utilizado para combinar dois DataFrames com base em uma ou mais chaves. Por exemplo, para unir df1 e df2 pelo campo ‘ID’:

# Unir DataFrames no Pandas
df_merged = pd.merge(df1, df2, on='ID')

Isso retornará um DataFrame que contém apenas as linhas com chaves correspondentes em ambos os DataFrames.

Tipos de Junções

O método merge permite diferentes tipos de junções, semelhantes às operações SQL: inner, outer, left e right.

  • Inner Join: Retorna apenas as linhas com chaves correspondentes em ambos os DataFrames.
# Unir DataFrames no Pandas
df_inner = pd.merge(df1, df2, on='ID', how='inner')
  • Outer Join: Retorna todas as linhas de ambos os DataFrames, preenchendo com NaN onde não há correspondência.
# Unir DataFrames no Pandas
df_outer = pd.merge(df1, df2, on='ID', how='outer')
  • Left Join: Retorna todas as linhas do DataFrame da esquerda e as linhas correspondentes do DataFrame da direita.
# Unir DataFrames no Pandas
df_left = pd.merge(df1, df2, on='ID', how='left')
  • Right Join: Retorna todas as linhas do DataFrame da direita e as linhas correspondentes do DataFrame da esquerda.
# Unir DataFrames no Pandas
df_right = pd.merge(df1, df2, on='ID', how='right')

Unindo DataFrames com concat

O método concat é usado para concatenar DataFrames ao longo de um eixo. Por exemplo, para concatenar df1 e df2 verticalmente:

# Unir DataFrames no Pandas
df_concat = pd.concat([df1, df2])

Para concatenar horizontalmente:

# Unir DataFrames no Pandas
df_concat_axis1 = pd.concat([df1, df2], axis=1)

Concatenando com Chaves

Você também pode adicionar uma chave de identificação para cada DataFrame ao concatenar:

# Unir DataFrames no Pandas
df_concat_keys = pd.concat([df1, df2], keys=['df1', 'df2'])

Isso facilita a identificação de qual DataFrame original cada linha pertence.

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 unir DataFrames 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: Para Iniciantes em Programação e Computação”, 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