中央値

中央値配列の中央の位置にある要素の値です。
要素数が奇数の場合はぴったり真ん中の位置が求まりますが、偶数の場合は真ん中の要素が2つになるので、真ん中の2つの要素の平均が中央値となります。

def median(arr):
N = len(arr)
sorted_arr = sorted(arr)
if N % 2 == 0:
# 偶数
val1 = sorted_arr[int(N / 2) - 1]
val2 = sorted_arr[int(N / 2)]
return (val1 + val2) / 2
else:
# 奇数
return sorted_arr[int((N + 1) / 2) - 1]

arr = [3, 6, 1, 10, 8, 7, 9]
med = median(arr)
print('median of array{0} is {1}'.format(arr, med))
median of array[3, 6, 1, 10, 8, 7, 9] is 7





0 件のコメント:

コメントを投稿