Pandas : comment utiliser décrire() avec des centiles spécifiques



Vous pouvez utiliser la fonction décrire() pour générer des statistiques descriptives pour les variables dans un DataFrame pandas.

Par défaut, pandas calcule les 25e, 50e et 75e centiles pour les variables.

Cependant, vous pouvez utiliser l’argument centiles dans la fonction décrire() pour spécifier les centiles exacts à calculer.

Les exemples suivants montrent comment utiliser cet argument en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, 22, 19, 14, 14, 11, 20, 28],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A      18        5        11
1    B      22        7         8
2    C      19        7        10
3    D      14        9         6
4    E      14       12         6
5    F      11        9         5
6    G      20        9         9
7    H      28        4        12

Exemple 1 : utilisation describe() avec les centiles par défaut

Le code suivant montre comment utiliser la fonction décrire() pour calculer des statistiques descriptives pour chaque variable numérique du DataFrame :

#calculate descriptive statistics for each numeric variable
df.describe()

	   points	assists	   rebounds
count	 8.000000	8.00000	   8.000000
mean	18.250000	7.75000	   8.375000
std	 5.365232	2.54951	   2.559994
min	11.000000	4.00000	   5.000000
25%	14.000000	6.50000	   6.000000
50%	18.500000	8.00000	   8.500000
75%	20.500000	9.00000	  10.250000
max	28.000000	12.00000  12.000000

Notez que la fonction décrire() calcule par défaut les 25e, 50e et 75e centiles pour chaque variable.

Exemple 2 : utilisation describe() avec des centiles personnalisés

Le code suivant montre comment utiliser la fonction décrire() avec l’argument centiles pour calculer les 30e, 60e et 90e centiles pour chaque variable numérique du DataFrame :

#calculate custom percentiles for each numeric variable
df.describe(percentiles=[.3, .6, .9])

           points	 assists	 rebounds
count	 8.000000	 8.00000	 8.000000
mean	18.250000	 7.75000	 8.375000
std	 5.365232	 2.54951	 2.559994
min	11.000000	 4.00000	 5.000000
30%	14.400000	 7.00000	 6.200000
50%	18.500000	 8.00000	 8.500000
60%	19.200000	 9.00000	 9.200000
90%	23.800000	 9.90000	11.300000
max	28.000000	12.00000	12.000000

Notez que la fonction décrire() renvoie les 30e, 60e et 90e centiles pour chaque variable numérique.

Remarque : La fonction décrire() renvoie également le 50e centile car celui-ci représente la valeur médiane de chaque variable et c’est l’une des métriques par défaut calculées par la fonction décrire() .

Exemple 3 : utilisation describe() sans centile

Le code suivant montre comment utiliser la fonction décrire() avec l’argument centiles=[] pour ne calculer aucun centile pour chaque variable numérique du DataFrame :

#calculate no percentiles for each numeric variable
df.describe(percentiles=[])

           points	assists	   rebounds
count	 8.000000	8.00000	   8.000000
mean	18.250000	7.75000	   8.375000
std	 5.365232	2.54951	   2.559994
min	11.000000	4.00000	   5.000000
50%	18.500000	8.00000	   8.500000
max	28.000000	12.00000  12.000000

Notez que les 25e et 75e centiles ne sont plus calculés pour chaque variable.

Notez que le 50e percentile est toujours inclus dans le résultat car il représente la valeur médiane de chaque variable.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Pandas : comment utiliser décrire() par groupe
Pandas : comment utiliser décrire() et supprimer la notation scientifique
Pandas : comment calculer la moyenne, la médiane et le mode

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *