Pythonのstatisticsモジュール徹底解説!mean・median・modeなど統計関数の使い方
Pythonでは、statisticsモジュールをインポートするだけで、数式や統計データの処理を手軽に行うことができます。平均値・中央値・最頻値など、さまざまな種類の統計演算や数学的操作を簡単に実装できるのが魅力です。
以下の関数は、標本または母集団のデータから代表値(平均的な値)を算出するために使用されます。
| mean() | データの算術平均(平均値)を返します。 |
| harmonic_mean() | データの調和平均を返します。 |
| median() | データの中央値(中間値)を返します。 |
| median_low() | データの低い側の中央値を返します。 |
| median_high() | データの高い側の中央値を返します。 |
| median_grouped() | グループ化データの中央値(50パーセンタイル)を返します。 |
| mode() | 最も出現回数の多い値(最頻値)を返します。 |
mean():算術平均を求める
mean()関数は、シーケンス(リストなど)やイテレータに含まれる標本データの算術平均(平均値)を計算します。すべての値の合計をデータ数で割る、最も基本的な平均の求め方です。
使用例
import statistics
data = [1, 2, 3, 3, 4, 5]
print("平均値は : ", end="")
print(statistics.mean(data))
実行結果
平均値は : 3
harmonic_mean():調和平均を求める
harmonic_mean()関数は、シーケンスやイテレータ内の実数データに対して調和平均を計算します。調和平均は、速度や割合など「率」の平均を求めたい場合に特に有効です。
使用例
import statistics
data = [1, 2, 3]
print("調和平均は : ", end="")
print(statistics.harmonic_mean(data))
実行結果
調和平均は : 1.6363636363636365
median():中央値を求める
median()関数は、昇順に並べたデータの中央にあたる値(中央値)を計算します。データ数が偶数の場合は、中央に位置する2つの値の平均が返される点に注意してください。
使用例
import statistics
data = [1, 3, 5, 7]
print("中央値は : ", end="")
print(statistics.median(data))
実行結果
中央値は : 4.0
median_low():低い側の中央値を求める
median_low()関数は、データ数が奇数の場合は通常の中央値を返します。一方、データ数が偶数の場合は、中央に並ぶ2つの値のうち小さい方を返すのが特徴です。
使用例
import statistics
data = [1, 2, 2, 3, 3, 3]
print("median_low の値は : ", end="")
print(statistics.median_low(data))
実行結果
median_low の値は : 2
median_high():高い側の中央値を求める
median_high()関数も、データ数が奇数の場合は通常の中央値を返します。データ数が偶数の場合には、中央に並ぶ2つの値のうち大きい方を返します。
使用例
import statistics
data = [1, 2, 2, 3, 3, 3]
print("median_high の値は : ", end="")
print(statistics.median_high(data))
実行結果
median_high の値は : 3
median_grouped():グループ化データの中央値を求める
median_grouped()関数は、グループ化されたデータの中央値を計算します。グループ化データの50パーセンタイルに相当する値を求めたいときに利用します。
使用例
import statistics
data = [2, 2, 3, 4]
print("median_grouped の値は : ", end="")
print(statistics.median_grouped(data))
実行結果
median_grouped の値は : 2.5
mode():最頻値を求める
mode()関数は、離散データや名義尺度のデータの中から、最も頻繁に出現する値(最頻値)を返します。出現回数が最大のデータポイントを取得したい場合に便利です。
使用例
import statistics
data = [2, 2, 3, 4, 4, 1, 2]
print("最頻値は : ", end="")
print(statistics.mode(data))
実行結果
最頻値は : 2
まとめ
Pythonのstatisticsモジュールを活用すれば、平均・中央値・最頻値といった基本的な統計量を、複雑な計算式を自前で書くことなく1行で求められます。データ分析の前処理や集計作業の効率化に、ぜひ取り入れてみてください。
-
Pythonでテキストエリア(TEXTAREA)のデータをCGIプログラムに渡す方法
複数行のテキストデータをCGIプログラムに送信したい場合には、HTMLのTEXTAREA要素を使用します。TEXTAREAは、ユーザーが自由に複数行の文章を入力できる入力欄を提供し、その内容は通常のテキストフィールドと同じようにCGIプログラムへ渡されます。 TEXTAREAを使ったフォームのHTMLコード例 以下は、TEXTAREAボックスを含むフォームのHTMLコード例です。 <form action = "/cgi-bin/textarea.py" method = "post" target = "_blank">
-
Pythonによる巡回冗長検査(CRC)の実装方法とサンプルコード
巡回冗長検査(CRC)とは 巡回冗長検査(CRC:Cyclic Redundancy Check)は、デジタルデータ内の誤りを検出するために広く利用されている手法で、伝送エラーの検出に特に有効な技術として知られています。この手法の計算の中核を担っているのは「2進数の除算(バイナリ除算)」です。 CRCでは、一連の冗長ビットからなる「CRCビット(検査用ビット)」を使用します。これらのビットはデータ単位(データワード)の末尾に付加され、付加後のデータ単位全体が、あらかじめ決められた特定の2進数(除数)でちょうど割り切れるように構成されます。 受信側での誤り判定の流れ 受信側では、受信したデータ