Python でリストの中央値を求める
-
Python でリストの中央値を求めるには
statistics
モジュールを使用する -
Python でリストの中央値を求めるには
numpy.percentile
関数を使用する - Python でカスタムコードを使用してリストの中央値を求める
統計学と確率の世界では、与えられたオブザベーションの集合の中央値は、中間の要素です。これは、要素の総数が奇数と偶数では計算が異なります。
データや統計解析には Python がよく使われています。このチュートリアルでは、Python でリストの中央値を計算する方法を紹介します。
Python でリストの中央値を求めるには statistics
モジュールを使用する
Python には、データの集合から異なる統計値を求めるためのさまざまな関数やクラスを持つ statistics
モジュールがあります。このライブラリの median()
関数を用いると、リストの中央値を求めることができます。
中央値はソートされたリストに基づいているので、median()
関数は自動的にソートして中央値を返します。例えば、
import statistics
lst = [7, 8, 9, 5, 1, 2, 2, 3, 4, 5]
print(statistics.median(lst))
出力:
4.5
Python でリストの中央値を求めるには numpy.percentile
関数を使用する
NumPy
モジュールには、配列からパーセンタイル値を求める関数があります。データの中央値は 50%のパーセンタイル値です。これを求めるには、NumPy
モジュールの percentile()
関数を用いて 50 パーセンタイル値を計算します。以下のコードを参照してください。
import numpy as np
a = np.array([7, 8, 9, 5, 1, 2, 2, 3, 4, 5])
median_value = np.percentile(a, 50)
print(median_value)
出力:
4.5
Python でカスタムコードを使用してリストの中央値を求める
また、Python を使ってデータの中央値を求める式を適用して、ユーザー定義の関数を作成することもできます。例えば、以下のようになります。
lst = [7, 8, 9, 5, 1, 2, 2, 3, 4, 5]
def median(l):
half = len(l) // 2
l.sort()
if not len(l) % 2:
return (l[half - 1] + l[half]) / 2.0
return l[half]
print(median(lst))
出力:
4.5
リストの中央値は、リストの長さが奇数の場合はソートされたリストの中間要素であり、そうでない場合は、2つの中間要素の平均です。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn