Python プログラミング

[Python] 平均値・中央値・最頻値を取得

投稿日:

こんにちは!シミダイ(@shimidai2100)です。

Pythonで平均値・中央値・最頻値を取得するコードを紹介します。

自分で「アルゴリズムをするパターン」と「statisticsライブラリ」の2つのパターンで作成しましたの違いを確認してみてください。


平均値・中央値・最頻値を取得

↓がソースになります。

また今回読み込ませるファイルは↓になります。

コードの解説

今回は「collections」で最頻値を取得するためimportさせます。

デフォルトコンポーネントではないので、入れていない人は「pip」でインストールしましょう。

頑張れば数え上げることができますが「collections」が一般的なようです。

withを使用してファイルをオープンしているため、close忘れがありません。

開いたファイルのcsv区切りのデータを読み込んだ後、map()を使って整数値にしている点に注意してください。

平均値は(データの合計 / データ長)で取得します。

中央値の計算はデータ長が偶数と奇数の場合で処理が変わるためif文で制御しています。

最頻値は複数ある場合の確認も行っています。

 

statisticsライブラリを利用する場合

statisticsライブラリを利用すると更にコード簡素化することができます。

かなりすっきり書くことが出来ます。

ただし最頻値が複数存在する場合「statistics.StatisticsError: no unique mode; found 2 equally common values」が出力されるため注意して下さい。

 

スポンサードリンク

関連記事

-Python, プログラミング

Translate »

Copyright© shimidai2100 , 2018 All Rights Reserved.