Panda: come usare groupby() con size()


Puoi utilizzare i seguenti metodi con le funzioni groupby() e size() in panda per contare il numero di occorrenze per gruppo:

Metodo 1: contare le occorrenze raggruppate per una variabile

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

Metodo 2: contare le occorrenze raggruppate in base a più variabili

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

Metodo 3: contare le occorrenze raggruppate per più variabili e ordinate per numero

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

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con i seguenti DataFrame panda:

 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

Esempio 1: contare le occorrenze raggruppate per una variabile

Il codice seguente mostra come utilizzare le funzioni groupby() e size() per contare le occorrenze di valori nella colonna team :

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

team
AT 5
B5
dtype: int64

Dal risultato possiamo vedere che i valori A e B compaiono entrambi 5 volte nella colonna della squadra .

Esempio 2: contare le occorrenze raggruppate per più variabili

Il codice seguente mostra come utilizzare le funzioni groupby() e size() per contare le occorrenze di valori per ciascuna combinazione di valori nelle colonne team e posizione :

 #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

Dal risultato possiamo vedere:

  • La squadra A e la posizione F appaiono 3 volte.
  • La squadra A e la posizione G appaiono due volte .

E così via.

Esempio 3: contare le occorrenze raggruppate per più variabili e ordinarle

Il codice seguente mostra come utilizzare le funzioni groupby() e size() per contare le occorrenze di valori per ciascuna combinazione di valori nelle colonne team e posizione , quindi ordinare in base al conteggio:

 #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

L’output mostra il conteggio di ciascuna combinazione di valori di squadra e posizione , ordinati per conteggio in ordine decrescente.

Nota : per ordinare in base al numero in ordine crescente, è sufficiente rimuovere ascending=False nella funzione sort_values() .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Come contare valori univoci utilizzando Pandas GroupBy
Come applicare una funzione a Pandas Groupby
Come creare un grafico a barre da Pandas GroupBy

Aggiungi un commento

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