Panda: crea una tabella di frequenza basata su più colonne


Puoi utilizzare la seguente sintassi di base per creare una tabella di frequenza in panda basata su più colonne:

 df. value_counts ([' column1 ',' column2 '])

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

Esempio: crea una tabella di frequenza in Pandas basata su più colonne

Supponiamo di avere il seguente DataFrame panda che contiene informazioni sul nome della squadra, sulla posizione e sui punti segnati da vari giocatori di basket:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [24, 33, 20, 15, 16, 16, 29, 25]})

#view DataFrame
print (df)

  team position points
0 AG 24
1 AG 33
2 AG 20
3 AF15
4 BG 16
5 BG 16
6 BF 29
7 BF 25

Possiamo utilizzare la funzione value_counts() per creare una tabella di frequenza che mostra l’occorrenza di ciascuna combinazione di valori nelle colonne squadra e posizione :

 #count frequency of values in team and position columns
df. value_counts ([' team ',' position '])

team position
GA 3
BF 2
      G2
AF1
dtype: int64

Dai risultati possiamo vedere:

  • Ci sono 3 occorrenze della squadra A e della posizione G
  • Ci sono 2 occorrenze della squadra B e della posizione F
  • Ci sono 2 occorrenze della squadra B e della posizione G
  • C’è 1 occorrenza della squadra A e della posizione F

Tieni presente che possiamo utilizzare reset_index() per restituire invece un DataFrame:

 #count frequency of values in team and position columns and return DataFrame
df. value_counts ([' team ',' position ']). reset_index ()

        team position 0
0 A G 3
1 B F 2
2 B G 2
3 A F 1

Possiamo usare la funzione rename() per rinominare la colonna che contiene i conteggi:

 #get frequency of values in team and position column and rename count column
df. value_counts ([' team ',' position ']). reset_index (). rename (columns={0:' count '})

        team position count
0 A G 3
1 B F 2
2 B G 2
3 A F 1

Il risultato finale è un DataFrame che contiene la frequenza di ogni combinazione univoca di valori nelle colonne Team e Position .

Risorse addizionali

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

Panda: come utilizzare GroupBy e conteggi dei valori
Panda: come utilizzare GroupBy con il conteggio dei contenitori
Panda: come contare i valori in una colonna con condizione

Aggiungi un commento

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