Comment calculer les centiles en Python : avec des exemples



Le n ème centile d’un ensemble de données est la valeur qui coupe les n premiers pour cent des valeurs de données lorsque toutes les valeurs sont triées du plus petit au plus grand.

Par exemple, le 90e centile d’un ensemble de données est la valeur qui sépare les 90 % inférieurs des valeurs de données des 10 % supérieurs des valeurs de données.

Nous pouvons calculer rapidement les centiles en Python en utilisant la fonction numpy.percentile() , qui utilise la syntaxe suivante :

numpy.percentile(a, q)

où:

  • a : Tableau de valeurs
  • q : Percentile ou séquence de centiles à calculer, qui doit être compris entre 0 et 100 inclus.

Ce tutoriel explique comment utiliser cette fonction pour calculer des centiles en Python.

Comment trouver les centiles d’un tableau

Le code suivant illustre comment trouver différents centiles pour un tableau donné en Python :

import numpy as np

#make this example reproducible
np.random.seed(0)

#create array of 100 random integers distributed between 0 and 500
data = np.random.randint(0, 500, 100)

#find the 37th percentile of the array
np.percentile(data, 37)

173.26

#Find the quartiles (25th, 50th, and 75th percentiles) of the array
np.percentile(data, [25, 50, 75])

array([116.5, 243.5, 371.5])

Comment trouver les centiles d’une colonne DataFrame

Le code suivant montre comment trouver la valeur du 95e centile pour une seule colonne DataFrame pandas :

import numpy as np 
import pandas as pd

#create DataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29, 33, 35],
                   'var2': [5, 7, 7, 9, 12, 9, 9, 4, 14, 15],
                   'var3': [11, 8, 10, 6, 6, 5, 9, 12, 13, 16]})

#find 90th percentile of var1 column
np.percentile(df.var1, 95)

34.1

Comment trouver les centiles de plusieurs colonnes DataFrame

Le code suivant montre comment trouver la valeur du 95e centile pour plusieurs colonnes dans un DataFrame pandas :

import numpy as np 
import pandas as pd

#create DataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29, 33, 35],
                   'var2': [5, 7, 7, 9, 12, 9, 9, 4, 14, 15],
                   'var3': [11, 8, 10, 6, 6, 5, 9, 12, 13, 16]})

#find 95th percentile of each column
df.quantile(.95)

var1    34.10
var2    14.55
var3    14.65

#find 95th percentile of just columns var1 and var2
df[['var1', 'var2']].quantile(.95)

var1    34.10
var2    14.55

Notez que nous avons pu utiliser la fonction pandas quantile() dans les exemples ci-dessus pour calculer les centiles.

Connexes : Comment calculer les centiles dans R (avec des exemples)

Ajouter un commentaire

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