Panda: come rappresentare value_counts in percentuale
Puoi utilizzare la funzione value_counts() nei panda per contare le occorrenze di valori in una determinata colonna di un DataFrame.
Per rappresentare i valori come percentuali, è possibile utilizzare uno dei seguenti metodi:
Metodo 1: rappresentare i valori come percentuali (formattati come decimali)
df. my_col . value_counts (normalize= True )
Metodo 2: rappresentare i valori come percentuali (formattati con simboli percentuali)
df. my_col . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % '
Metodo 3: rappresentare i conteggi dei valori come percentuali (con conteggi)
counts = df. my_col . value_counts () percs = df. my_col . value_counts (normalize= True ) p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage '])
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', 'B', 'B', 'B', 'B', 'B', 'C'], ' points ': [15, 12, 18, 20, 22, 28, 35, 40]}) #view DataFrame print (df) team points 0 to 15 1 to 12 2 B 18 3 B 20 4 B 22 5 B 28 6 B 35 7 C 40
Esempio 1: rappresentare i valori come percentuali (formattati come decimali)
Il codice seguente mostra come contare le occorrenze di ciascun valore nella colonna della squadra e rappresentare le occorrenze come percentuale del totale, in formato decimale:
#count occurrence of each value in 'team' column as percentage of total df. team . value_counts (normalize= True ) B 0.625 At 0.250 C 0.125 Name: team, dtype: float64
Dal risultato possiamo vedere:
- Il valore B rappresenta il 62,5% delle occorrenze nella colonna squadra.
- Il valore A rappresenta il 25% delle occorrenze nella colonna della squadra.
- Il valore C rappresenta il 12,5% delle occorrenze nella colonna squadra.
Tieni presente che le percentuali sono formattate come decimali.
Esempio 2: rappresentare i valori come percentuali (formattati con simboli percentuali)
Il codice seguente mostra come contare le occorrenze di ciascun valore nella colonna della squadra e rappresentare le occorrenze come percentuale del totale, formattato con simboli percentuali:
#count occurrence of each value in 'team' column as percentage of total df. team . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % ' B 62.5% At 25.0% C 12.5% Name: team, dtype: object
Tieni presente che le percentuali sono formattate come stringhe con simboli di percentuale.
Esempio 3: rappresentazione di numeri di valori come percentuali (con numeri)
Il codice seguente mostra come contare le occorrenze di ciascun valore nella colonna del team e rappresentare le occorrenze come numeri e percentuali:
#count occurrence of each value in 'team' column counts = df. team . value_counts () #count occurrence of each value in 'team' column as percentage of total percs = df. team . value_counts (normalize= True ) #concatenate results into one DataFrame p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage ']) count percentage B 5 0.625 At 2 0.250 C 1 0.125
Tieni presente che la colonna conteggio visualizza il conteggio di ciascun valore univoco nella colonna della squadra mentre la colonna percentuale visualizza ciascun valore univoco come percentuale del numero totale di occorrenze.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:
Panda: come tracciare i conti di valore
Panda: come utilizzare GroupBy e conteggi dei valori
Panda: come tracciare gli istogrammi per gruppo