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

Avatar de Ana Maria Ana Maria
4 minutos de leitura 4 meses atrás

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.

Curso Gratuito

Curso gratuito de Python

Do zero ao primeiro projeto em apenas 2 horas

Criar conta gratuita

Comentários

Comentar
Você tem o Acesso Básico.
Libere seu acesso ao suporte dos professores Garanta seu acesso PRO para tirar todas suas dúvidas com nossa equipe.
Seja PRO