Jak obliczyć decyle w pythonie: z przykładami


W statystyce decyle to liczby dzielące zbiór danych na dziesięć grup o jednakowej częstotliwości.

Pierwszy decyl to punkt, poniżej którego spada 10% wszystkich wartości danych. Drugi decyl to punkt, w którym 20% wszystkich wartości danych spada poniżej i tak dalej.

Do obliczenia decyli zbioru danych w Pythonie możemy użyć następującej składni:

 import numpy as np

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

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: obliczanie decylów w Pythonie

Poniższy kod pokazuje, jak utworzyć fałszywy zbiór danych zawierający 20 wartości, a następnie obliczyć wartości decylowe zbioru danych:

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

Sposób interpretacji decyli jest następujący:

  • 10% wszystkich wartości danych jest mniejszych niż 63,4
  • 20% wszystkich wartości danych jest mniejszych niż 67,8 .
  • 30% wszystkich wartości danych jest mniejszych niż 76,5 .
  • 40% wszystkich wartości danych jest mniejszych niż 83,6 .
  • 50% wszystkich wartości danych jest mniejszych niż 88,5 .
  • 60% wszystkich wartości danych jest mniejszych niż 90,4 .
  • 70% wszystkich wartości danych jest mniejszych niż 92,3 .
  • 80% wszystkich wartości danych jest mniejszych niż 93,2 .
  • 90% wszystkich wartości danych jest mniejszych niż 95,2 .

Należy zauważyć, że pierwsza wartość wyniku (56) wskazuje po prostu minimalną wartość zbioru danych.

Przykład: Umieszczanie wartości w decylach w Pythonie

Aby umieścić każdą wartość danych w decylu, możemy użyć funkcji qcut pandy.

Oto jak użyć tej funkcji dla zbioru danych utworzonego w poprzednim przykładzie:

 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

Sposób interpretacji wyniku jest następujący:

  • Wartość danych 56 mieści się w przedziale od percentyla 0% do 10%, zatem jest w decylu 0 .
  • Wartość danych 58 mieści się w przedziale od percentyla 0% do 10%, więc jest w decylu 0 .
  • Wartość danych 64 mieści się w percentylu od 10% do 20%, zatem znajduje się w decylu 1 .
  • Wartość danych 67 mieści się w przedziale od 10% do 20% percentyla, zatem mieści się w decylu 1 .
  • Wartość danych 68 mieści się w przedziale od 20% do 30% percentyla, zatem mieści się w decylu 2 .

I tak dalej.

Dodatkowe zasoby

Jak obliczyć percentyle w Pythonie
Jak obliczyć rozstęp międzykwartylowy w Pythonie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *