Groupby no Pandas: o que é e como utilizar o método groupby

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

Quando você começa a explorar o mundo da análise de dados, rapidamente se depara com a necessidade de agrupar informações para extrair insights valiosos. No Excel, você pode estar acostumado a usar tabelas dinâmicas para essa finalidade. No entanto, ao migrar para a programação em Python, especificamente com a biblioteca Pandas, você encontrará uma ferramenta poderosa chamada “groupby”. Este método é essencial para qualquer analista de dados e, neste artigo, vamos explorar o que é e como você pode utilizá-lo.

Dois pandas comendo bambu.

Entendendo o Método Groupby no Pandas

O método groupby é uma das funcionalidades mais importantes do Pandas, uma biblioteca de análise de dados em Python. Assim como as tabelas dinâmicas no Excel, o groupby permite que você agrupe seus dados com base em uma ou mais colunas e aplique funções de agregação, como soma, média, contagem, entre outras.

Como Funciona o Groupby no Pandas

Imagine que você tem um conjunto de dados de vendas e quer saber o total vendido por cada vendedor. No Pandas, você pode fazer isso facilmente com o groupby. Aqui está um exemplo simplificado:

import pandas as pd

# Cria um DataFrame
data = {
    'Vendedor': ['Ana', 'Bruno', 'Ana', 'Carlos', 'Ana', 'Bruno'],
    'Vendas': [200, 150, 340, 120, 300, 250]
}

df = pd.DataFrame(data)

# Agrupa os dados pelo vendedor e soma as vendas
total_vendas = df.groupby('Vendedor').sum()
print(total_vendas)

Neste exemplo, o DataFrame df é agrupado pela coluna ‘Vendedor’, e a função sum() é aplicada para somar as vendas de cada vendedor. O resultado é um novo DataFrame com o total de vendas por vendedor:

# Output:

#           Vendas
# Vendedor        
# Ana          840
# Bruno        400
# Carlos       120

Aplicando Diferentes Funções de Agregação

O groupby não se limita a somar valores. Você pode aplicar diversas outras funções de agregação para analisar seus dados. Algumas das funções mais comuns incluem:

  • count(): Conta o número de ocorrências.
  • mean(): Calcula a média dos valores.
  • min(): Encontra o valor mínimo.
  • max(): Encontra o valor máximo.
  • std(): Calcula o desvio padrão.

Exemplos Práticos

Vamos ver mais alguns exemplos de como o groupby pode ser utilizado:

Contando o Número de Vendas por Vendedor

# Conta o número de vendas por vendedor
contagem_vendas = df.groupby('Vendedor').count()
print(contagem_vendas)

Calculando a Média de Vendas por Vendedor

# Calcula a média de vendas por vendedor
media_vendas = df.groupby('Vendedor').mean()
print(media_vendas)

Encontrando a Venda Máxima por Vendedor

# Encontra a venda máxima por vendedor
venda_maxima = df.groupby('Vendedor').max()
print(venda_maxima)

Dicas Importantes

  • Se o seu DataFrame possuir colunas com valores não numéricos, utilize o argumento numeric_only=True ao chamar o método de agregação. Assim, você evita usar a agregação em colunas categóricas, o que pode levar a resultados indesejados ou erros.
  • O resultado do groupby é um objeto especial do tipo DataFrameGroupBy. Você pode convertê-lo de volta para um DataFrame comum usando métodos como to_frame() ou reset_index().
  • Você pode agrupar por múltiplas colunas passando uma lista de nomes de colunas para o groupby.

Conclusão

O método groupby é uma ferramenta poderosa que facilita a agregação e análise de grandes conjuntos de dados. Com ele, você pode realizar operações complexas de forma simples e eficiente, semelhante ao que faria com tabelas dinâmicas no Excel. Pratique o uso do groupby com seus próprios conjuntos de dados e descubra os insights que ele pode revelar. Com o tempo, você verá como essa ferramenta pode se tornar indispensável em sua caixa de ferramentas 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: