リスト内のデータの平均数、中位数、および衆数を計算する【python実装】
3454 ワード
1つの数列の平均数の定義は、すべての数値の合計を数列の長さの中位数で割って定義し、1つの数列を並べ替えて中間に位置する数値(数列の長さが奇数の場合、真ん中の数を取り、長さが偶数の場合、真ん中の2つの数の平均を除く)の衆数を、1つの数列の中で最も出現回数の多い数値と定義する.pythonコード実装:
定義:
テスト:
実行結果が正しい!(コードはpython 3ベース)
#
def averagenum(num):
nsum = 0
for i in range(len(num)):
nsum += num[i]
return nsum / len(num)
#
def mediannum(num):
listnum = [num[i] for i in range(len(num))]
listnum.sort()
lnum = len(num)
if lnum % 2 == 1:
i = int((lnum + 1) / 2)-1
return listnum[i]
else:
i = int(lnum / 2)-1
return (listnum[i] + listnum[i + 1]) / 2
#
def publicnum(num, d = 0):
dictnum = {}
for i in range(len(num)):
if num[i] in dictnum.keys():
dictnum[num[i]] += 1
else:
dictnum.setdefault(num[i], 1)
maxnum = 0
maxkey = 0
for k, v in dictnum.items():
if v > maxnum:
maxnum = v
maxkey = k
return maxkey
定義:
a = [1, 1 , 2, 5, 7, 9, 9, 9, 20, 7, 9, 55]
テスト:
In [1]:averagenum(a)
Out[1]:
11.166666666666666
In [2]:mediannum(a)
Out[2]:
8.0
In [3]:publicnum(a)
Out[3]:
9
実行結果が正しい!(コードはpython 3ベース)