Com a função DataFrame.groupby() do Python Pandas, você pode agrupar dados com base em critérios específicos e executar diversas agregações e transformações.

Hospedagem web com consultor pessoal

Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!

  • Domínio
  • SSL Wildcard
  • Suporte 24 horas

Qual é a sintaxe da função Pandas DataFrame.groupby()?

A função Pandas groupby() aceita a inclusão de até quatro parâmetros. Sua sintaxe básica é a seguinte:

DataFrame.groupby(by=None, level=None, as_index=True, sort=True, group_keys=True, dropna=True)
python

Parâmetros importantes da função Pandas groupby

Parâmetro Descrição Valor padrão
by Chave ou lista em Python de chaves para agrupar. Não deve ser combinado com o parâmetro level None
level Usado com o objeto MultiIndex para especificar um ou mais níveis de agrupamento None
as_index Se verdadeiro (True), as chaves do grupo são definidas como o índice do DataFrame resultante True
group_keys Se verdadeiro (True), as chaves do grupo são incluídas no índice dos grupos True
dropna Especifica se grupos com valores NaN devem ser excluídos True

Como usar a função Pandas DataFrame.groupby()

A função Pandas groupby() é especialmente útil para analisar e resumir grandes conjuntos de dados, facilitando a identificação de padrões ou anomalias.

Agrupar e agregar

Apresentamos abaixo um exemplo de conjunto de dados de vendas que contém informações sobre a data da venda, o produto vendido e sua quantidade:

import pandas as pd
# Exemplo de conjunto de dados de vendas
data = {
    'Data': ['2025-01-01', '2025-01-01', '2025-01-02', '2025-01-02', '2025-01-03'],
    'Produto': ['A', 'B', 'A', 'B', 'A'],
    'Quantidade': [10, 20, 15, 25, 10]
}
df = pd.DataFrame(data)
print(df)
python

O DataFrame criado ficará assim:

Data Produto  Quantidade
0  2025-01-01       A       10
1  2025-01-01       B       20
2  2025-01-02       A       15
3  2025-01-02       B       25
4  2025-01-03       A       10

Em seguida, vamos agrupar o conjunto de dados por produto com a função Pandas groupby(). Depois, faremos o cálculo da quantidade total vendida de cada produto usando sum():

# Agrupar por produto e calcular a soma da quantidade vendida
total = df.groupby('Produto')['Quantidade'].sum()
print(total)
python

O resultado apresentará o número total de unidades vendidas de cada produto:

Produto
A    35
B    45
Nome: Quantidade, dtype: int64

Agregações múltiplas

No exemplo a seguir, vamos usar um conjunto de dados maior que também inclui a receita gerada:

data = {
    'Data': ['2025-01-01', '2025-01-01', '2025-01-02', '2025-01-02', '2025-01-03'],
    'Produto': ['A', 'B', 'A', 'B', 'A'],
    'Quantidade': [10, 20, 15, 25, 10],
    'Receita': [100, 200, 150, 250, 100]
}
df = pd.DataFrame(data)
print(df)
python

O DataFrame ficará assim:

Data    Produto  Quantidade  Receita
0  2025-01-01       A          10         100
1  2025-01-01       B          20         200
2  2025-01-02       A          15         150
3  2025-01-02       B          25         250
4  2025-01-03       A          10         100

Usando a função Pandas DataFrame.groupby(), vamos agrupar os dados por produto e, em seguida, aplicaremos a função agg() para calcular a quantidade e a receita total, bem como a receita média por produto.

# Agrupar por produto e aplicar múltiplas agregações
groups = df.groupby('Produto').agg({
    'Quantidade': 'sum',
    'Receita': ['sum', 'mean']
})
print(groups)
python

Este será o resultado obtido:

Quantidade Receita        
          sum    sum    mean
Produto                  
A          35    350  116.666667
B          45    450  225.000000
Este artigo foi útil?
Ir para o menu principal