Come utilizzare la funzione value_counts() di panda (con esempi)
Puoi utilizzare la funzione value_counts() per contare la frequenza di valori univoci in una serie di panda.
Questa funzione utilizza la seguente sintassi di base:
my_series. value_counts ()
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: frequenza di conteggio di valori univoci
Il codice seguente mostra come contare le occorrenze di valori univoci in una serie panda:
import pandas as pd #create pandas Series my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9]) #count occurrences of unique values in Series my_series. value_counts () 3 4 4 2 7 2 8 1 9 1 dtype: int64
Questo ci dice:
- Il valore 3 appare 4 volte.
- Il valore 4 appare due volte .
- Il valore 7 appare due volte .
E così via.
Esempio 2: frequenza di conteggio di valori univoci (incluso NaN)
Per impostazione predefinita, la funzione value_counts() non visualizza la frequenza dei valori NaN.
Tuttavia, puoi utilizzare l’argomento dropna per visualizzare la frequenza dei valori NaN:
import pandas as pd import numpy as np #create pandas Series with some NaN values my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9, np.nan, np.nan]) #count occurrences of unique values in Series, including NaNs my_series. value_counts (dropna= False ) 3.0 4 4.0 2 7.0 2 NaN2 8.0 1 9.0 1 dtype: int64
Esempio 3: contare la frequenza relativa di valori univoci
Il codice seguente mostra come utilizzare l’argomento normalize per contare la frequenza relativa di valori univoci in una serie di panda:
import pandas as pd #create pandas Series my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9]) #count occurrences of unique values in Series my_series. value_counts (normalize= True ) 3 0.4 4 0.2 7 0.2 8 0.1 9 0.1 dtype:float64
Questo ci dice:
- Il valore 3 rappresenta il 40% di tutti i valori della serie.
- Il valore 4 rappresenta il 20% di tutti i valori della serie.
- Il valore 7 rappresenta il 20% di tutti i valori della serie.
E così via.
Esempio 4: Frequenza di conteggio nei contenitori
Il codice seguente mostra come utilizzare l’argomento bins per contare la frequenza dei valori in una serie di panda che rientrano in bin di uguale dimensione:
import pandas as pd #create pandas Series my_series = pd. Series ([3, 3, 3, 3, 4, 4, 7, 7, 8, 9]) #count occurrences of unique values in Series my_series. value_counts (bins= 3 ) (3.0, 5.0] 6 (5.0, 7.0] 2 (7.0, 9.0] 2 dtype: int64
Questo ci dice:
- Ci sono 6 valori tra 3 e 5.
- Ci sono 2 valori tra 5 e 7.
- Ci sono 2 valori tra 7 e 9.
Esempio 5: conta la frequenza dei valori in Pandas DataFrame
Possiamo anche utilizzare la funzione value_counts() per calcolare la frequenza di valori univoci in una colonna specifica di un DataFrame panda:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [9, 9, 9, 10, 10, 13, 15, 22], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #count occurrences of unique values in 'points' column df[' points ']. value_counts () 9 3 10 2 13 1 15 1 22 1 Name: points, dtype: int64
Risorse addizionali
I seguenti tutorial spiegano come utilizzare altre funzioni comuni nei panda:
Come utilizzare la funzione description() in Panda
Come contare il numero di righe in Pandas
Come contare gli avvistamenti di gruppo nei panda