Como calcular decis em python: com exemplos


Nas estatísticas, decis são números que dividem um conjunto de dados em dez grupos de igual frequência.

O primeiro decil é o ponto onde 10% de todos os valores dos dados ficam abaixo. O segundo decil é o ponto onde 20% de todos os valores dos dados ficam abaixo, e assim por diante.

Podemos usar a seguinte sintaxe para calcular decis de um conjunto de dados em Python:

 import numpy as np

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

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: calcular decis em Python

O código a seguir mostra como criar um conjunto de dados falso com 20 valores e depois calcular os valores decil do conjunto de dados:

 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])

A maneira de interpretar decis é a seguinte:

  • 10% de todos os valores de dados são inferiores a 63,4
  • 20% de todos os valores de dados são inferiores a 67,8 .
  • 30% de todos os valores de dados são inferiores a 76,5 .
  • 40% de todos os valores de dados são inferiores a 83,6 .
  • 50% de todos os valores de dados são inferiores a 88,5 .
  • 60% de todos os valores de dados são inferiores a 90,4 .
  • 70% de todos os valores de dados são inferiores a 92,3 .
  • 80% de todos os valores de dados são inferiores a 93,2 .
  • 90% de todos os valores de dados são inferiores a 95,2 .

Observe que o primeiro valor da saída (56) indica simplesmente o valor mínimo do conjunto de dados.

Exemplo: Colocando Valores em Decis em Python

Para colocar cada valor de dados em um decil, podemos usar a função pandas qcut .

Veja como usar esta função para o conjunto de dados que criamos no exemplo anterior:

 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

A forma de interpretar o resultado é a seguinte:

  • O valor dos dados 56 está entre o percentil 0% e 10%, portanto está no decil 0 .
  • O valor dos dados 58 está entre o percentil 0% e 10%, portanto está no decil 0 .
  • O valor dos dados 64 está entre o percentil 10% e 20%, portanto está no decil 1 .
  • O valor dos dados 67 fica entre o percentil 10% e 20%, portanto cai no decil 1 .
  • O valor dos dados 68 fica entre o percentil 20% e 30%, portanto cai no decil 2 .

E assim por diante.

Recursos adicionais

Como calcular percentis em Python
Como calcular o intervalo interquartil em Python

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *