Exemple de comment compter le nombre d'occurrences sur les éléments d'une colonne avec une data frame pandas:
Nombre d'occurrences avec la fonction value_counts()
Soit par exemple le fichier de données suivant 'default of credit card clients Data Set" que l'on peut télécharger ici
>>> import pandas as pd>>> df = pd.read_excel('default of credit card clients.xls', header=1)
Pour obtenir le nombre de "default payment"ou pas on peut utiliser value_counts():
>>> df['default payment next month'].value_counts()0 233641 6636Name: default payment next month, dtype: int64
Autre exemple avec le sexe:
>>> df['SEX'].value_counts()2 181121 11888Name: SEX, dtype: int64
Exemple avec l'age:
>>> df['AGE'].value_counts()29 160527 147728 140930 139526 125631 121725 118634 116232 115833 114624 112735 111336 110837 104139 95438 94423 93140 87041 82442 79444 70043 67045 61746 57022 56047 50148 46649 45250 41151 34053 32552 30454 24755 20956 17858 12257 12259 8360 6721 6761 5662 4463 3164 3166 2565 2467 1669 1570 1068 573 471 372 375 374 179 1Name: AGE, dtype: int64
On peut aussi définir un nombre d'intervalles:
>>> df['AGE'].value_counts(bins=10)26.800 826132.600 651420.942 512738.400 481244.200 301750.000 142555.800 62861.600 17167.400 4073.200 5
et même personnaliser la taille des intervalles:
Name: AGE, dtype: int64>>> df['AGE'].value_counts(bins=[0,10,20,25,30,35,40,60,80])40 800225 714230 579635 491720 387160 27210 00 0Name: AGE, dtype: int64
Colonne avec des données manquantes
On peut aussi ajouter des données manquantes nan:
>>> import pandas as pd>>> import numpy as np>>> df = pd.read_excel('default of credit card clients.xls', header=1)>>> df.iloc[[2,7,4,99,10,130],:] = np.nan
Si on applique value_counts() on voit que ces données manquantes sont automatiquement écartées:
>>> df['SEX'].value_counts()2.0 181081.0 11886Name: SEX, dtype: int64
Pour afficher le nombre de données manquantes on peut ajouter dropna=False:
>>> df['SEX'].value_counts(dropna=False)2.0 181081.0 11886NaN 6Name: SEX, dtype: int64
Références
| Liens | Site |
|---|---|
| value_counts() | pandas doc |
| count the frequency that a value occurs in a dataframe column | stackoverflow |
| pandas.DataFrame.count | pandas doc |
