Python で十分位数を計算する方法: 例付き


統計において、十分位とは、データセットを同じ頻度の 10 個のグループに分割する数値です。

最初の十分位数は、すべてのデータ値の 10% が下回る点です。第 2 十分位点は、すべてのデータ値の 20% が下回る点などです。

次の構文を使用して、Python でデータセットの十分位数を計算できます。

 import numpy as np

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

次の例は、この関数を実際に使用する方法を示しています。

例: Python で十分位数を計算する

次のコードは、20 個の値を含む偽のデータセットを作成し、データセットの十分位値を計算する方法を示しています。

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

十分位数を解釈する方法は次のとおりです。

  • すべてのデータ値の 10% が63.4未満です
  • すべてのデータ値の 20% が67.8未満です。
  • すべてのデータ値の 30% が76.5未満です。
  • すべてのデータ値の 40% が83.6未満です。
  • すべてのデータ値の 50% が88.5未満です。
  • すべてのデータ値の 60% が90.4未満です。
  • すべてのデータ値の 70% が92.3未満です。
  • すべてのデータ値の 80% が93.2未満です。
  • すべてのデータ値の 90% が95.2未満です。

出力の最初の値 (56) は単にデータ セットの最小値を示していることに注意してください。

例: Python で十分位数に値を配置する

各データ値を十分位数に配置するには、pandas qcut関数を使用できます。

前の例で作成したデータセットに対してこの関数を使用する方法は次のとおりです。

 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

結果を解釈する方法は次のとおりです。

  • データ値 56 はパーセンタイル 0% と 10% の間にあるため、十分位数0になります。
  • データ値 58 はパーセンタイル 0% と 10% の間にあるため、十分位数0になります。
  • データ値 64 は 10% と 20% パーセンタイルの間にあるため、十分位数1にあります。
  • データ値 67 は 10% と 20% パーセンタイルの間にあるため、十分位1に該当します。
  • データ値 68 は 20% と 30% パーセンタイルの間にあるため、十分位2に該当します。

等々。

追加リソース

Python でパーセンタイルを計算する方法
Python で四分位範囲を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です