Pandas: como usar groupby() com size()


Você pode usar os seguintes métodos com as funções groupby() e size() no pandas para contar o número de ocorrências por grupo:

Método 1: contar ocorrências agrupadas por uma variável

 df. groupby (' var1 '). size ()

Método 2: contar ocorrências agrupadas por múltiplas variáveis

 df. groupby ([' var1 ', ' var2 ']). size ()

Método 3: Contar ocorrências agrupadas por múltiplas variáveis e ordenadas por número

 df. groupby ([' var1 ', ' var2 ']). size (). sort_values (ascending= False )

Os exemplos a seguir mostram como usar cada método na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'F'],
                   ' points ': [15, 22, 24, 25, 20, 35, 34, 19, 14, 12]})

#view DataFrame
print (df)

  team position points
0 AG 15
1 AG 22
2 AF 24
3 AF 25
4 AF 20
5 BG 35
6 BG 34
7 BG 19
8 BG 14
9 BF 12

Exemplo 1: contar ocorrências agrupadas por uma variável

O código a seguir mostra como usar as funções groupby() e size() para contar ocorrências de valores na coluna team :

 #count occurrences of each value in team column
df. groupby (' team '). size ()

team
AT 5
B5
dtype: int64

Pelo resultado, podemos ver que os valores A e B aparecem 5 vezes na coluna da equipe .

Exemplo 2: Contar ocorrências agrupadas por múltiplas variáveis

O código a seguir mostra como usar as funções groupby() e size() para contar ocorrências de valores para cada combinação de valores nas colunas equipe e posição :

 #count occurrences of values for each combination of team and position
df. groupby ([' team ', ' position ']). size ()

team position
AF3
      G2
BF 1
      G4
dtype: int64

Pelo resultado podemos ver:

  • A equipe A e a posição F aparecem 3 vezes.
  • A equipe A e a posição G aparecem duas vezes .

E assim por diante.

Exemplo 3: contar ocorrências agrupadas por diversas variáveis e ordenar

O código a seguir mostra como usar as funções groupby() e size() para contar ocorrências de valores para cada combinação de valores nas colunas equipe e posição e, em seguida, classificar por contagem:

 #count occurrences for each combination of team and position and sort
df. groupby ([' team ', ' position ']). size (). sort_values (ascending= False )

team position
BG 4
AF3
      G2
BF 1
dtype: int64

A saída exibe a contagem de cada combinação de valores de equipe e posição , classificada por contagem em ordem decrescente.

Nota : Para classificar por número em ordem crescente, basta remover ascendente=False na função sort_values() .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Como contar valores únicos usando Pandas GroupBy
Como aplicar uma função ao Pandas Groupby
Como criar um gráfico de barras do Pandas GroupBy

Add a Comment

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