Se ci troviamo nella circostanza di dover contare le occorrenze di valori presenti in un DataFrame Pandas, ossia quante volte questi valori vengono ripetuti all’interno del DataFrame, possiamo ricorrere all’uso della funzione value_counts().
Ipotiziamo di avere il seguente DataFrame:
import pandas as pd
df = pd.DataFrame(['bmw','audi','bmw','ford','bmw','audi','ford','ford','ford','ford','audi','bmw','bmw','bmw','bmw',], columns=['auto'])
print(df)
Output:
_ auto
0 bmw
1 audi
2 bmw
3 ford
4 bmw
5 audi
6 ford
7 ford
8 ford
9 ford
10 audi
11 bmw
12 bmw
13 bmw
14 bmw
Possiamo a questo punto utilizzare la funzione value_counts() per contare le occorrenze all’interno del DataFrame.
print(df.value_counts())
Output:
auto
bmw 7
ford 5
audi 3
dtype: int64
Contare le occorrenze in un DataFrame memorizzandole in un Dizionario
In questo caso, vogliamo contare le occorrenze presenti nel DataFrame e vogliamo organizzare il risultato in un dizionario. Per fare ciò dobbiamo utilizzare la funzione to_dict() la quale però può essere applicata ad una serie, pertanto dobbiamo eseguire il counting su una singola colonna del DataFrame.
Il codice è il seguente:
counts = df['auto'].value_counts().to_dict()
Output:
{'bmw': 7, 'ford': 5, 'audi': 3}