Python statistics モジュール

データ分析や科学計算において、統計学は非常に重要なツールです。

Python には組み込みのstatisticsモジュールが用意されており、基本的な統計計算を処理するために特化しています。本記事では、statisticsこのモジュールの機能と使用方法を詳しく紹介し、初心者がこのモジュールを使用して基本的な統計分析を行う方法をすぐに習得できるようにします。

statisticsモジュールは、平均値、中央値、分散、標準偏差など、多くのよく使われる統計関数を提供しています。

statistics 関数を使用するには、まずインポートする必要があります:

import statistics

statistics モジュールの内容を確認する:

>>> import statistics
>>> dir(statistics)
['Counter', 'Decimal', 'Fraction', 'NormalDist', 'StatisticsError', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_coerce', '_convert', '_exact_ratio', '_fail_neg', '_find_lteq', '_find_rteq', '_isfinite', '_normal_dist_inv_cdf', '_ss', '_sum', 'bisect_left', 'bisect_right', 'erf', 'exp', 'fabs', 'fmean', 'fsum', 'geometric_mean', 'groupby', 'harmonic_mean', 'hypot', 'itemgetter', 'log', 'math', 'mean', 'median', 'median_grouped', 'median_high', 'median_low', 'mode', 'multimode', 'numbers', 'pstdev', 'pvariance', 'quantiles', 'random', 'sqrt', 'stdev', 'tau', 'variance']

よく使われる統計関数

平均値(Mean)

平均値は、データセット内のすべての数値の平均です。statisticsモジュールはmean()平均値を計算する関数を提供しています。

例

data = [1, 2, 3, 4, 5]
mean_value = statistics.mean(data)
print("平均値:", mean_value)

出力:

均值: 3

中央値(Median)

中央値は、データセットを大きさの順に並べたときに中央に位置する値です。statisticsモジュールはmedian()中央値を計算する関数を提供しています。

例

data = [1, 2, 3, 4, 5]
median_value = statistics.median(data)
print("中央値:", median_value)

出力:

中位数: 3

データセットの長さが偶数の場合、median()関数は自動的に中央の2つの数値の平均を計算します。

例

data = [1, 2, 3, 4]
median_value = statistics.median(data)
print("中央値:", median_value)

出力:

中位数: 2.5

最頻値(Mode)

最頻値は、データセット内で最も頻繁に出現する値です。statisticsモジュールはmode()最頻値を計算する関数を提供しています。

例

data = [1, 2, 2, 3, 4]
mode_value = statistics.mode(data)
print("最頻値:", mode_value)

出力:

众数: 2

データセット内に重複する値がない場合、mode()関数はStatisticsError例外をスローします。

分散(Variance)

分散は、データセット内の数値のばらつきの程度を測る指標です。statisticsモジュールはvariance()分散を計算する関数を提供しています。

例

data = [1, 2, 3, 4, 5]
variance_value = statistics.variance(data)
print("分散:", variance_value)

出力:

方差: 2.5

標準偏差(Standard Deviation)

標準偏差は分散の平方根であり、データセットのばらつきの程度を測るために使用されます。statisticsモジュールはstdev()標準偏差を計算する関数を提供しています。

例

data = [1, 2, 3, 4, 5]
stdev_value = statistics.stdev(data)
print("標準偏差:", stdev_value)

出力:

标准差: 1.5811388300841898

調和平均(Harmonic Mean)

調和平均は特別な平均の一種であり、速度などを計算する場面に適しています。statisticsモジュールはharmonic_mean()調和平均を計算する関数を提供しています。

例

data = [1, 2, 4]
harmonic_mean_value = statistics.harmonic_mean(data)
print("調和平均:", harmonic_mean_value)

出力:

调和平均数: 1.7142857142857142

幾何平均(Geometric Mean)

幾何平均は、成長率や比率を計算するために使用される平均です。statisticsモジュールはgeometric_mean()幾何平均を計算する関数を提供しています。

例

data = [1, 2, 4]
geometric_mean_value = statistics.geometric_mean(data)
print("幾何平均:", geometric_mean_value)

出力:

几何平均数: 2.0

その他のよく使われる関数

低位中央値(Median Low)と高位中央値(Median High)

statisticsモジュールはさらにmedian_low()とmedian_high()関数を提供しており、それぞれデータセットの低位中央値と高位中央値を計算します。

例

data = [1, 2, 3, 4]
median_low_value = statistics.median_low(data)
median_high_value = statistics.median_high(data)
print("低位中央値:", median_low_value)
print("高位中央値:", median_high_value)

出力:

中位数低: 2
中位数高: 3

分位数(Quantiles)

分位数は、データセットをいくつかの等しい部分に分ける値です。statisticsモジュールはquantiles()分位数を計算する関数を提供しています。

例

data = [1, 2, 3, 4, 5]
quantiles_value = statistics.quantiles(data, n=4)
print("四分位数:", quantiles_value)

出力:

四分位数: [1.5, 3.0, 4.5]

math モジュールのメソッド

メソッド 説明
statistics.harmonic_mean() 指定されたデータセットの調和平均を計算します。
statistics.mean() データセットの平均値を計算します
statistics.median() データセットの中央値を計算します
statistics.median_grouped() 指定されたグループ化データセットのグループ化中央値を計算します
statistics.median_high() 指定されたデータセットの高位中央値を計算します
statistics.median_low() 指定されたデータセットの低位中央値を計算します。
statistics.mode() データセットの最頻値(出現頻度が最も高い値)を計算します
statistics.pstdev() 指定されたデータセットの標本標準偏差を計算します
statistics.stdev() データセットの標準偏差を計算します
statistics.pvariance() 指定されたデータセットの標本分散を計算します
statistics.variance() データセットの分散を計算します
statistics.quantiles() データセットの分位数を計算します。分位数の数を指定できます(デフォルトは四分位数)
その他の拡張