Pythonで四分位数を求める方法

Pocket

四分位数というのはソートされた配列について前から4分の1、2分の1、4分の3のところにある数のことです。
それぞれ第一四分位数、第二四分位数、第三四分位数と呼びます。
第二四分位数は中央値のことです。

中央値

要素の数が奇数の場合

中央にある数です。
0 1 2 3 4 5 6
であれば3となります。

要素の数が偶数の場合

中央の2個の数の平均です。
0 1 2 3 4 5 6 7
であれば3と4の平均で3.5となります。

四分位数

第一四分位数

要素の数が奇数の場合

中央にある数を除いた前半部分の中央値です。
0 1 2 3 4 5 6
であれば
0 1 2
の中央値で1となります。

要素の数が偶数の場合

半分に分けた前半部分の中央値です。
0 1 2 3 4 5 6 7
であれば
0 1 2 3
の中央値で1.5となります。

第三四分位数

第一四分位数の求め方で前半の代わりに後半を使います。

Python

def quartile(a):
  if len(a) < 2:
    return None
  q = []
  if len(a) % 2 == 0:
    i = int(len(a) / 2)
    q.append(median(a[0:i]))
    q.append(median(a))
    q.append(median(a[i:]))
  else:
    i = int(len(a) / 2)
    q.append(median(a[0:i]))
    q.append(median(a))
    q.append(median(a[i+1:]))
  return q

def median(a):
  if len(a) % 2 == 0:
    m = (a[int(len(a) / 2) - 1] + a[int(len(a) / 2)]) / 2
  else:
    m = a[int(len(a) / 2)]
  return m

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
x = quartile(a)
print(x)

[ 2021年7月16日 | カテゴリー: Python | タグ: ]

« | »

コメントを残す

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

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報