【Python】statisticsモジュールについて【標準ライブラリ】
- statistics モジュールとは
- 平均 (mean)
- 中央値 (median)
- 最頻値 (mode)
- 分散 (variance)
- 標準偏差 (stdev)
- 分位数 (quantiles)
- その他の関数
statistics モジュールとは
Pythonの標準ライブラリ `statistics` モジュールは、基本的な統計計算を簡単に行うためのモジュールです。 数学的な統計処理を行う際に便利で、データ分析や機械学習の前処理にも役立ちます。
平均 (mean)
平均値(算術平均)を求める関数です。リストやタプルなどの数値データに対して使用します。
import statistics data = [10, 20, 30, 40, 50] print(statistics.mean(data)) # 出力: 30
中央値 (median)
中央値を求める関数です。データを昇順に並べたときに、中央にくる値を取得します。
import statistics data1 = [10, 20, 30, 40, 50] data2 = [10, 20, 30, 40] # 偶数個のデータ print(statistics.median(data1)) # 出力: 30 print(statistics.median(data2)) # 出力: 25 (中央値は20と30の平均)
最頻値 (mode)
データ内で最も頻繁に出現する値を返します。
import statistics data = [1, 2, 3, 3, 4, 4, 4, 5] print(statistics.mode(data)) # 出力: 4
データ内に複数の最頻値がある場合、`statistics.mode()` は最初に見つかったものを返します。
分散 (variance)
分散はデータの散らばり具合を示す指標です。
import statistics data = [10, 20, 30, 40, 50] print(statistics.variance(data)) # 出力: 250
ただし、分散は不偏分散(標本分散)を計算します。母分散を求めたい場合は `pvariance()` を使用します。
標準偏差 (stdev)
標準偏差は分散の平方根をとったもので、データのばらつきを表します。
import statistics data = [10, 20, 30, 40, 50] print(statistics.stdev(data)) # 出力: 15.81...
分位数 (quantiles)
分位数はデータを等しい部分に分割する値です。
import statistics data = [3, 6, 7, 8, 10, 20, 30, 40] print(statistics.quantiles(data, n=4)) # 出力: [7.0, 9.0, 20.0]
上記の例では、データを4分位(四分位数)に分割しています。
その他の関数
statistics.median_low(data)
: 偶数個のデータの中央値を決める際、小さい方の値を選択statistics.median_high(data)
: 偶数個のデータの中央値を決める際、大きい方の値を選択statistics.pvariance(data)
: 母分散を計算statistics.pstdev(data)
: 母標準偏差を計算