Pythonでは、リストの中央値を求めるためにstatistics.median()
関数を使用することができます。しかし、この関数を使用せずに自分で中央値を計算するプログラムを作成することも可能です。
以下に、Pythonでリストの中央値を求めるための2つの方法を示します。
方法1: statistics.median()
関数を使用する
Pythonのstatistics
モジュールには、リストやタプルの中央値を計算するためのmedian()
関数が含まれています。
import statistics
list = [1,1,2,4,8,10,100]
md = statistics.median(list)
print(md) # 出力: 4
この方法は、一行で簡単に中央値を求めることができます。
方法2: 自作の関数を使用する
statistics.median()
関数を使用せずに、自分で中央値を計算するプログラムを作成することも可能です。以下にそのサンプルコードを示します。
def calc(test):
stest = sorted(test)
if len(stest) % 2 == 0:
out1 = int(len(stest)/2)
median = (stest[out1]+stest[out1-1])/2
print("even-median:", median)
else:
odd_med = int((len(stest)-1)/2)
print("odd-median:", stest[odd_med])
test = [1,330,120,500,40]
test1 =[224,450,300,780,900,670]
calc(test) # 出力: odd-median: 120
calc(test1) # 出力: even-median: 560.0
このプログラムでは、まずリストをソートします。次に、リストの長さが偶数か奇数かを判断します。偶数の場合は、中央の2つの数値の平均を中央値とします。奇数の場合は、ソートしたときの中央の数値を中央値とします。
以上がPythonでリストの中央値を求める2つの方法です。どちらの方法を使用するかは、あなたのニーズによります。statistics.median()
関数は簡単に中央値を求めることができますが、自作の関数を使用することで、中央値の計算方法を深く理解することができます。