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