Pythonと数学 その2

朝のコーヒーが格別においしい季節になりつつありますね。

今回はPythonで使える数学的な関数について書きます。
平均値と中央値、最頻値についてですね。statisticsモジュールを用います。

平均値

statistics.mean([データ1,データ2,データ3,...])でデータの平均値を求めます。

>>> import statistics
>>> statistics.mean([1,2,3,4,5,6])
3.5
>>> statistics.mean([1,2,3,4,5,6,7,8,9,10,11])
6
>>> statistics.mean([-1,2,-3,4,-5,6,-7,8,-9,10,11]) # 負の値でもできる
1.4545454545454546

statistics.fmean([データ])statistics.mean([データ])よりも早く動き、また小数でその値を返します。

>>> statistics.fmean([1,2,3,4,5,6,7,8,9,10,11])
6.0

中央値

statistics.median([データ])でデータの中央値を返します。

>>> statistics.median([1,2,3,4,5])
3
>>> statistics.median([1,2,3,4,4,5])
3.5

最頻値

statistics.mode([データ])でデータの最頻値を返します。

>>> statistics.mode([1,2,3,4,4,5])
4

これの面白いところは、文字列のデータでも最頻値を求められます。

>>> statistics.mode(["apple","banana","cherry","apple","cherry","apple"])
'apple'
>>>statistics.mode(["apple","banana","cherry","apple","cherry","apple","cherry"])
'apple'
# 最頻値が2つ以上ある場合、先頭から数えて最初に最頻となる値を返す

statistics.multimode([データ])で複数の最頻値がある場合、それらをすべて返します。

>>>statistics.multimode(["apple","banana","cherry","apple","cherry","apple","cherry"])
['apple', 'cherry']


今回はこんなところで。

MU生活向上の会(MUQoL)は私のような初心者をはじめとした、さまざまなレベルの人が集まってプログラミングに触れ、互いの知見や制作物を共有する会です。あなたも参加してみませんか?興味のある方や疑問のある方は生活向上の会(@muprgm)まで気軽にDMを送ってくださいね。

この記事が気に入ったらサポートをしてみませんか?