Comment calculer les déciles en Python : avec des exemples



En statistiques, les déciles sont des nombres qui divisent un ensemble de données en dix groupes de fréquence égale.

Le premier décile est le point où 10 % de toutes les valeurs de données se situent en dessous. Le deuxième décile est le point où 20 % de toutes les valeurs de données se situent en dessous, et ainsi de suite.

Nous pouvons utiliser la syntaxe suivante pour calculer les déciles d’un ensemble de données en Python :

import numpy as np

np.percentile(var, np.arange(0, 100, 10))

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : calculer les déciles en Python

Le code suivant montre comment créer un faux ensemble de données avec 20 valeurs, puis calculer les valeurs des déciles de l’ensemble de données :

import numpy as np

#create data
data = np.array([56, 58, 64, 67, 68, 73, 78, 83, 84, 88,
                 89, 90, 91, 92, 93, 93, 94, 95, 97, 99])

#calculate deciles of data
np.percentile(data, np.arange(0, 100, 10))

array([56. , 63.4, 67.8, 76.5, 83.6, 88.5, 90.4, 92.3, 93.2, 95.2])

La façon d’interpréter les déciles est la suivante :

  • 10 % de toutes les valeurs de données sont inférieures à 63,4
  • 20 % de toutes les valeurs de données sont inférieures à 67,8 .
  • 30 % de toutes les valeurs de données sont inférieures à 76,5 .
  • 40 % de toutes les valeurs de données sont inférieures à 83,6 .
  • 50 % de toutes les valeurs de données sont inférieures à 88,5 .
  • 60 % de toutes les valeurs de données sont inférieures à 90,4 .
  • 70 % de toutes les valeurs de données sont inférieures à 92,3 .
  • 80 % de toutes les valeurs de données sont inférieures à 93,2 .
  • 90 % de toutes les valeurs de données sont inférieures à 95,2 .

Notez que la première valeur de la sortie (56) indique simplement la valeur minimale de l’ensemble de données.

Exemple : placer les valeurs dans les déciles en Python

Pour placer chaque valeur de données dans un décile, nous pouvons utiliser la fonction qcut pandas.

Voici comment utiliser cette fonction pour l’ensemble de données que nous avons créé dans l’exemple précédent :

import pandas as pd

#create data frame
df = pd.DataFrame({'values': [56, 58, 64, 67, 68, 73, 78, 83, 84, 88,
                              89, 90, 91, 92, 93, 93, 94, 95, 97, 99]})

#calculate decile of each value in data frame
df['Decile'] = pd.qcut(df['values'], 10, labels=False)

#display data frame
df

	values	Decile
0	56	0
1	58	0
2	64	1
3	67	1
4	68	2
5	73	2
6	78	3
7	83	3
8	84	4
9	88	4
10	89	5
11	90	5
12	91	6
13	92	6
14	93	7
15	93	7
16	94	8
17	95	8
18	97	9
19	99	9

La façon d’interpréter le résultat est la suivante :

  • La valeur des données 56 se situe entre le centile 0 % et 10 %, elle se situe donc dans le décile 0 .
  • La valeur des données 58 se situe entre le percentile 0 % et 10 %, elle se situe donc dans le décile 0 .
  • La valeur des données 64 se situe entre le percentile 10 % et 20 %, elle se situe donc dans le décile 1 .
  • La valeur des données 67 se situe entre le centile 10 % et 20 %, elle tombe donc dans le décile 1 .
  • La valeur des données 68 se situe entre le percentile 20 % et 30 %, elle tombe donc dans le décile 2 .

Et ainsi de suite.

Ressources additionnelles

Comment calculer les centiles en Python
Comment calculer l’intervalle interquartile en Python

Ajouter un commentaire

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