Concat no pandas: entendendo e usando o método pd.concat

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

Quando se trata de análise de dados, especialmente para aqueles que estão começando, é essencial compreender as ferramentas que temos à disposição para manipular e preparar nossos dados para análise. Uma dessas ferramentas é o método pd.concat do pandas, uma biblioteca do Python que é como uma versão superpoderosa do Excel. Neste artigo, vamos explorar o que é o método concat, como ele funciona e como você pode utilizá-lo para combinar DataFrames de maneira eficaz.

O que é o método concat do pandas?

Imagine que você tem várias tabelas de dados (ou DataFrames, como são chamados no pandas) e você precisa juntá-los em uma única tabela. É aqui que o método concat entra em jogo. O concat permite que você “cole” (concatene) DataFrames ao longo de um eixo específico, seja vertical ou horizontalmente. Dessa forma, você consegue unir DataFrames um abaixo do outro, ou um ao lado do outro.

Método concat no pandas sendo usado para concatenar 3 DataFrames A, B e C, verticalmente (axis=0) e horizontalmente (axis=1).

Como usar o pd.concat do pandas

Para utilizar o pd.concat, você precisa passar uma lista de DataFrames que deseja concatenar e, opcionalmente, pode especificar o eixo. Por padrão, o concat une os DataFrames verticalmente, empilhando um sobre o outro. Vamos ver um exemplo prático:

import pandas as pd

# Criando DataFrames de exemplo
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})

# Concatenando os DataFrames
df_concatenado = pd.concat([df1, df2])

Neste exemplo, df_concatenado será um novo DataFrame que inclui os dados de df1 seguidos pelos dados de df2, conforme a representação abaixo:

#     A   B
# 0  A0  B0
# 1  A1  B1
# 0  A2  B2
# 1  A3  B3

Concatenação Horizontal

Se você quiser concatenar DataFrames lado a lado, você pode alterar o eixo para 1:

df_concatenado_lado_a_lado = pd.concat([df1, df2], axis=1)

Agora, df_concatenado_lado_a_lado terá df1 e df2 unidos horizontalmente:

#     A   B   A   B
# 0  A0  B0  A2  B2
# 1  A1  B1  A3  B3

Lidando com Índices

Um ponto de atenção ao usar concat é como ele lida com os índices. Se os DataFrames tiverem índices diferentes, o pandas preencherá com NaN onde os dados estiverem faltando. Isso é algo a se considerar para garantir a integridade dos seus dados.

Caso você não se importe com os valores dos índices e queira apenas “colar” os DataFrames um com o outro, utilize o argumento ignore_index=True ao chamar o método pd.concat().

Quando usar o pd.concat

O método concat é extremamente útil quando você tem dados semelhantes espalhados em várias tabelas e precisa juntá-los para análise. Por exemplo, se você tem dados de vendas de diferentes meses em arquivos separados e precisa analisar o desempenho anual, concat é a ferramenta perfeita para isso!

O loop abaixo representa uma situação como essa, onde os arquivos CSV contidos na pasta minha_pasta são concatenados em um DataFrame único:

import os
import pandas as pd

dados = []
for arquivo_dados in os.listdir('minha_pasta'):
    df = pd.read_csv(arquivo_dados)
    dados.append(df)
df_concatenado = pd.concat(dados, ignore_index=True)

Conclusão

O método pd.concat é uma ferramenta poderosa que simplifica a combinação de DataFrames. Com ele, você pode facilmente juntar dados de várias fontes e prepará-los para análise. Lembre-se de considerar como os índices são tratados durante a concatenação para manter a precisão dos seus dados.

Agora que você entende o básico do concat no pandas, experimente com seus próprios DataFrames e veja como ele pode facilitar seu trabalho de análise de dados!

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: