Exemplos de Pandas concat()

Exemplos de Pandas concat()

Utilizar o Pandas para concatenar DataFrames é uma tarefa essencial para manipular e combinar dados. A função concat() fornece uma ampla gama de opções para unir DataFrames diferentes, atendendo a vários requisitos de combinação.

Introdução

O Pandas, uma biblioteca de manipulação de dados amplamente utilizada em Python, oferece recursos abrangentes para trabalhar com dados tabulares. A função concat() do Pandas permite combinar vários DataFrames em um único DataFrame, facilitando a integração, a comparação e a análise de dados de diversas fontes.

A função concat() apresenta vários parâmetros para personalizar o processo de concatenação, como:

axis: Define o eixo ao longo do qual os DataFrames serão concatenados. Por padrão, o valor é 0, o que concatena as linhas.
join: Especifica o tipo de junção a ser usada, como 'inner', 'outer', 'left' ou 'right'.
ignore_index: Se definido como True, reindexa o DataFrame resultante, ignorando os índices originais.

  15 ideias interessantes de projetos de IA para iniciantes

Concatenando DataFrames Verticalmente (Linhas)

Para concatenar DataFrames verticalmente, use axis=0 no parâmetro concat() conforme abaixo:

python
import pandas as pd

df1 = pd.DataFrame({'Coluna 1': [1, 2, 3], 'Coluna 2': ['a', 'b', 'c']})
df2 = pd.DataFrame({'Coluna 1': [4, 5, 6], 'Coluna 2': ['d', 'e', 'f']})

df_vertical = pd.concat([df1, df2], axis=0)
print(df_vertical)

Saída:


Coluna 1 Coluna 2
0 1 a
1 2 b
2 3 c
3 4 d
4 5 e
5 6 f

Concatenando DataFrames Horizontalmente (Colunas)

Para concatenar DataFrames horizontalmente, use axis=1 no parâmetro concat().

python
df3 = pd.DataFrame({'Coluna 3': [7, 8, 9]})

df_horizontal = pd.concat([df1, df3], axis=1)
print(df_horizontal)

Saída:


Coluna 1 Coluna 2 Coluna 3
0 1 a 7
1 2 b 8
2 3 c 9

Concatenando DataFrames com Junções

O parâmetro join permite especificar o tipo de junção a ser usado na concatenação. Aqui estão alguns exemplos:

Junção Interna (inner): Inclui apenas linhas que existem em ambos os DataFrames.

python
df_inner = pd.concat([df1, df3], axis=1, join='inner')
print(df_inner)

Saída:


Coluna 1 Coluna 2 Coluna 3
0 1 a 7
1 2 b 8
2 3 c 9

Junção Externa (outer): Inclui todas as linhas de ambos os DataFrames, mesmo que não existam no outro.

python
df_outer = pd.concat([df1, df3], axis=1, join='outer')
print(df_outer)

Saída:


Coluna 1 Coluna 2 Coluna 3
0 1 a 7
1 2 b 8
2 3 c 9
3 NaN NaN NaN

Junção Esquerda (left): Inclui todas as linhas do DataFrame esquerdo e as linhas do DataFrame direito que correspondem ao DataFrame esquerdo.

python
df_left = pd.concat([df1, df3], axis=1, join='left')
print(df_left)

Saída:


Coluna 1 Coluna 2 Coluna 3
0 1 a 7
1 2 b 8
2 3 c 9

Junção Direita (right): Inclui todas as linhas do DataFrame direito e as linhas do DataFrame esquerdo que correspondem ao DataFrame direito.

python
df_right = pd.concat([df1, df3], axis=1, join='right')
print(df_right)

Saída:


Coluna 1 Coluna 2 Coluna 3
0 1 a 7
1 2 b 8
2 3 c 9
3 NaN NaN NaN

Conclusão

A função concat() do Pandas é uma ferramenta poderosa para combinar DataFrames diferentes, facilitando a integração, a comparação e a análise de dados de diversas fontes. Ao compreender os parâmetros e as opções de junção, os usuários podem personalizar o processo de concatenação para atender a requisitos específicos de manipulação de dados.

FAQs

Qual é a diferença entre concatenação vertical e horizontal?
– A concatenação vertical combina DataFrames por linha (eixo 0), enquanto a concatenação horizontal combina DataFrames por coluna (eixo 1).

Como posso ignorar os índices originais ao concatenar DataFrames?
– Defina o parâmetro ignore_index como True no concat().

Posso concatenar DataFrames com tipos de dados diferentes?
– Sim, mas o DataFrame resultante terá o tipo de dados do objeto mais comum.

Como posso lidar com valores ausentes ao concatenar DataFrames?
– Use o parâmetro join junto com a opção dropna para remover linhas ou colunas com valores ausentes.

Existe uma maneira de renomear colunas ao concatenar DataFrames?
– Use o parâmetro keys no concat() para especificar os nomes das novas colunas.

Como posso concatenar vários DataFrames em um único loop?
– Use a função pd.concat() dentro de um loop for para iterar sobre os DataFrames.

É possível concatenar DataFrames com base em uma coluna específica?
– Sim, use o parâmetro on no concat() para especificar a coluna de junção.

Qual é a diferença entre concat() e append() no Pandas?
concat() combina DataFrames diferentes em um único DataFrame, enquanto append() adiciona linhas de um DataFrame a outro.