Pandas: como usar description() por grupo


Você pode usar a função description() para gerar estatísticas descritivas para variáveis em um DataFrame do pandas.

Você pode usar a seguinte sintaxe básica para usar a função description() com a função groupby() em pandas:

 df. groupby (' group_var ')[' values_var ']. describe ()

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: use description() por grupo no Pandas

Suponha que temos o seguinte DataFrame do pandas que contém informações sobre jogadores de basquete de dois times diferentes:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [8, 12, 14, 14, 15, 22, 27, 24],
                   ' assists ':[2, 2, 3, 5, 7, 6, 8, 12]})

#view DataFrame
print (df)

  team points assists
0 to 8 2
1 to 12 2
2 to 14 3
3 to 14 5
4 B 15 7
5 B 22 6
6 B 27 8
7 B 24 12

Podemos usar a função description() com a função groupby() para resumir os valores na coluna de pontos de cada equipe :

 #summarize points by team
df. groupby (' team ')[' points ']. describe ()

count mean std min 25% 50% 75% max
team								
A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0
B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0

A partir do resultado podemos observar os seguintes valores para a variável pontos de cada equipe:

  • contagem (número de observações)
  • média (valor médio do ponto)
  • std (desvio padrão dos valores dos pontos)
  • min (valor mínimo de pontos)
  • 25 % (25º percentil de pontos)
  • 50 % (percentil 50 (ou seja, mediana) de pontos)
  • 75 % (75º percentil de pontos)
  • max (valor máximo de pontos)

Se quiser que os resultados sejam exibidos no formato DataFrame, você pode usar o argumento reset_index() :

 #summarize points by team
df. groupby (' team ')[' points ']. describe (). reset_index ()

        team count mean std min 25% 50% 75% max
0 A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0
1 B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0

A variável team agora é uma coluna no DataFrame e os valores do índice são 0 e 1.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Pandas: como calcular a soma acumulada por grupo
Pandas: como contar valores únicos por grupo
Pandas: como calcular a correlação por grupo

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *