Pandas: como usar groupby e contagens de valores


Você pode usar a seguinte sintaxe básica para contar a frequência de valores exclusivos por grupo em um DataFrame do pandas:

 df. groupby ([' column1 ', ' column2 ']). size (). unstack (fill_value= 0 )

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

Exemplo: usando GroupBy e contagens de valores em Pandas

Suponha que temos 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', 'C', 'G', 'F', 'F', 'F', 'F'],
                   ' points ': [8, 8, 10, 10, 11, 8, 9, 10, 10, 10]})

#view DataFrame
print (df)

  team position points
0 AG 8
1 GA 8
2 AF10
3 AF 10
4 AC 11
5 BG 8
6 BF 9
7 BF 10
8 BF 10
9 BF 10

Podemos usar a seguinte sintaxe para contar a frequência dos valores de pontos , agrupados por colunas de equipe e posição :

 #count frequency of points values, grouped by team and position
df. groupby ([' team ',' position ',' points ']). size (). unstack (fill_value= 0 )

	points 8 9 10 11
team position				
A C 0 0 0 1
        F 0 0 2 0
        G 2 0 0 0
B F 0 1 3 0
        G 1 0 0 0

Veja como interpretar o resultado:

  • O valor 8 apareceu 0 vezes na coluna de pontos para jogadores do time A e posição C.
  • O valor 9 apareceu 0 vezes na coluna de pontos para jogadores do time A e posição C.
  • O valor 10 apareceu 0 vezes na coluna de pontos para jogadores do time A e posição C.
  • O valor 11 apareceu 1 vez na coluna de pontos para jogadores do time A e da posição C.

E assim por diante.

Também poderíamos usar a seguinte sintaxe para contar a frequência de posições , agrupadas por equipe :

 #count frequency of positions, grouped by team
df. groupby ([' team ', ' position ']). size (). unstack (fill_value= 0 )

position C F G
team			
A 1 2 2
B 0 4 1

Veja como interpretar o resultado:

  • O valor ‘C’ ocorreu 1 vez na equipe A.
  • O valor ‘F’ apareceu 2 vezes na equipe A.
  • O valor ‘G’ apareceu 2 vezes na equipe A.
  • O valor ‘C’ ocorreu 0 vezes na equipe B.
  • O valor ‘F’ ocorreu 4 vezes na Equipe B.
  • O valor ‘G’ ocorreu 1 vez na equipe B.

E assim por diante.

Recursos adicionais

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

Como realizar uma soma GroupBy no Pandas
Como contar valores únicos usando GroupBy no Pandas
Como usar Groupby e Plot no Pandas

Add a Comment

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