Hoe decielen in python te berekenen: met voorbeelden


In de statistiek zijn decielen getallen die een dataset in tien groepen met gelijke frequentie verdelen.

Het eerste deciel is het punt waar 10% van alle datawaarden daaronder valt. Het tweede deciel is het punt waar 20% van alle datawaarden daaronder valt, enzovoort.

We kunnen de volgende syntaxis gebruiken om decielen van een dataset in Python te berekenen:

 import numpy as np

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

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: bereken decielen in Python

De volgende code laat zien hoe je een nep-dataset met 20 waarden maakt en vervolgens de decielwaarden van de dataset berekent:

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

De manier om decielen te interpreteren is als volgt:

  • 10% van alle datawaarden is kleiner dan 63,4
  • 20% van alle datawaarden is kleiner dan 67,8 .
  • 30% van alle datawaarden zijn kleiner dan 76,5 .
  • 40% van alle datawaarden is kleiner dan 83,6 .
  • 50% van alle datawaarden zijn kleiner dan 88,5 .
  • 60% van alle datawaarden zijn kleiner dan 90,4 .
  • 70% van alle datawaarden zijn kleiner dan 92,3 .
  • 80% van alle datawaarden zijn kleiner dan 93,2 .
  • 90% van alle datawaarden zijn kleiner dan 95,2 .

Merk op dat de eerste waarde van de uitvoer (56) eenvoudigweg de minimumwaarde van de dataset aangeeft.

Voorbeeld: waarden plaatsen in decielen in Python

Om elke gegevenswaarde in een deciel te plaatsen, kunnen we de pandas qcut -functie gebruiken.

U kunt deze functie als volgt gebruiken voor de gegevensset die we in het vorige voorbeeld hebben gemaakt:

 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

De manier om het resultaat te interpreteren is als volgt:

  • Gegevenswaarde 56 ligt tussen percentiel 0% en 10%, dus in deciel 0 .
  • Gegevenswaarde 58 ligt tussen percentiel 0% en 10%, dus in deciel 0 .
  • De gegevenswaarde 64 ligt tussen het 10% en 20% percentiel, dus in deciel 1 .
  • Gegevenswaarde 67 valt tussen het 10% en 20% percentiel en valt dus in deciel 1 .
  • Gegevenswaarde 68 valt tussen het 20% en 30% percentiel en valt dus in deciel 2 .

Enzovoort.

Aanvullende bronnen

Hoe percentielen in Python te berekenen
Hoe het interkwartielbereik in Python te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert