Panda: come utilizzare groupby e conteggi dei valori


È possibile utilizzare la seguente sintassi di base per contare la frequenza di valori univoci per gruppo in un DataFrame panda:

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

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: utilizzo di GroupBy e conteggi valore in Panda

Supponiamo di avere i seguenti panda DataFrame:

 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

Possiamo utilizzare la seguente sintassi per contare la frequenza dei valori dei punti , raggruppati per colonne di squadra e posizione :

 #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

Ecco come interpretare il risultato:

  • Il valore 8 è apparso 0 volte nella colonna dei punti per i giocatori della squadra A e della posizione C.
  • Il valore 9 è apparso 0 volte nella colonna dei punti per i giocatori della squadra A e della posizione C.
  • Il valore 10 è apparso 0 volte nella colonna dei punti per i giocatori della squadra A e della posizione C.
  • Il valore 11 è apparso nella colonna dei punti 1 volta per i giocatori della squadra A e della posizione C.

E così via.

Potremmo anche utilizzare la seguente sintassi per contare la frequenza delle posizioni , raggruppate per squadra :

 #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

Ecco come interpretare il risultato:

  • Il valore ‘C’ si è verificato 1 volta nella squadra A.
  • Il valore “F” è apparso 2 volte sulla squadra A.
  • Il valore “G” è apparso 2 volte sulla squadra A.
  • Il valore ‘C’ si è verificato 0 volte nella squadra B.
  • Il valore “F” si è verificato 4 volte nella squadra B.
  • Il valore “G” si è verificato 1 volta nella squadra B.

E così via.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come eseguire una somma GroupBy in Pandas
Come contare valori univoci utilizzando GroupBy in Pandas
Come utilizzare Groupby e Plot in Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *