Come calcolare i decili in python: con esempi


In statistica, i decili sono numeri che dividono un set di dati in dieci gruppi di uguale frequenza.

Il primo decile è il punto in cui cade il 10% di tutti i valori dei dati. Il secondo decile è il punto in cui il 20% di tutti i valori dei dati scende al di sotto e così via.

Possiamo usare la seguente sintassi per calcolare i decili di un set di dati in Python:

 import numpy as np

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

L’esempio seguente mostra come utilizzare questa funzione nella pratica.

Esempio: calcolare i decili in Python

Il codice seguente mostra come creare un set di dati falso con 20 valori e quindi calcolare i valori decili del set di dati:

 import numpy as np

#createdata
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
n.p. 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])

Il modo di interpretare i decili è il seguente:

  • Il 10% di tutti i valori dei dati sono inferiori a 63,4
  • Il 20% di tutti i valori dei dati sono inferiori a 67,8 .
  • Il 30% di tutti i valori dei dati sono inferiori a 76,5 .
  • Il 40% di tutti i valori dei dati sono inferiori a 83,6 .
  • Il 50% di tutti i valori dei dati sono inferiori a 88,5 .
  • Il 60% di tutti i valori dei dati sono inferiori a 90,4 .
  • Il 70% di tutti i valori dei dati sono inferiori a 92,3 .
  • L’80% di tutti i valori dei dati sono inferiori a 93,2 .
  • Il 90% di tutti i valori dei dati sono inferiori a 95,2 .

Si noti che il primo valore dell’output (56) indica semplicemente il valore minimo del set di dati.

Esempio: inserimento di valori in decili in Python

Per posizionare ciascun valore di dati in un decile, possiamo utilizzare la funzione panda qcut .

Ecco come utilizzare questa funzione per il set di dati creato nell’esempio precedente:

 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

Il modo di interpretare il risultato è il seguente:

  • Il valore dei dati 56 è compreso tra il percentile 0% e il 10%, quindi è nel decile 0 .
  • Il valore dei dati 58 è compreso tra il percentile 0% e il 10%, quindi è nel decile 0 .
  • Il valore dei dati 64 è compreso tra il 10% e il 20% del percentile, quindi è nel decile 1 .
  • Il valore dei dati 67 è compreso tra il 10% e il 20% del percentile, quindi rientra nel decile 1 .
  • Il valore dei dati 68 rientra tra il 20% e il 30% del percentile, quindi rientra nel decile 2 .

E così via.

Risorse addizionali

Come calcolare i percentili in Python
Come calcolare l’intervallo interquartile in Python

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *