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