Σ
SDCalc
中級チュートリアル·15 min

ExcelとPythonで標準偏差を計算する方法

Excel(STDEV.S、STDEV.P)とPython(numpy、pandas、statistics)で標準偏差を計算するステップバイステップのチュートリアル。コード例付き。

Excel:概要

Microsoft Excelには、標本標準偏差と母集団標準偏差の両方を計算する組み込み関数が用意されています。これらの関数は、最新版のExcelすべてで利用可能です。

Excelの関数

関数種類説明
`STDEV.S()`標本標本標準偏差(n-1で割る)
`STDEV.P()`母集団母集団標準偏差(Nで割る)
`STDEV()`標本旧関数、STDEV.Sと同じ
`STDEVP()`母集団旧関数、STDEV.Pと同じ

Excelの例

Excel Formulas
// Data in cells A1:A10
=STDEV.S(A1:A10)     // Sample SD
=STDEV.P(A1:A10)     // Population SD

// For specific values
=STDEV.S(4, 8, 6, 5, 3)    // Returns 1.924

// Ignoring text and logical values
=STDEV.S(A1:A10)    // Ignores text
=STDEVA(A1:A10)     // Includes text as 0

便利なヒント

ほとんどの実データ分析にはSTDEV.Sを使用してください。STDEV.Pは、完全な母集団のデータであると確信できる場合にのみ使用します。

Python:概要

Pythonには標準偏差を計算する方法が複数あります。最もよく使われるライブラリは、NumPyPandas、そして組み込みのstatisticsモジュールです。

NumPyの使い方

Python (NumPy)
import numpy as np

data = [4, 8, 6, 5, 3]

# Population standard deviation (default)
pop_sd = np.std(data)
print(f"Population SD: {pop_sd}")  # 1.720

# Sample standard deviation
sample_sd = np.std(data, ddof=1)
print(f"Sample SD: {sample_sd}")  # 1.924

ddofとは?

ddofは「自由度の差分(Delta Degrees of Freedom)」の略です。ddof=1を設定すると、NumPyは標本標準偏差を計算するために(n-1)で割ります。デフォルトのddof=0は母集団標準偏差を返します。

Pandasの使い方

Python (Pandas)
import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'scores': [85, 90, 78, 92, 88]})

# Sample SD (default in pandas)
sample_sd = df['scores'].std()
print(f"Sample SD: {sample_sd}")

# Population SD
pop_sd = df['scores'].std(ddof=0)
print(f"Population SD: {pop_sd}")

# Multiple columns at once
df.std()  # Returns SD for all numeric columns

ツール比較

ツール標本標準偏差母集団標準偏差
Excel`STDEV.S()``STDEV.P()`
NumPy`np.std(data, ddof=1)``np.std(data)`
Pandas`df.std()``df.std(ddof=0)`
Python statistics`stdev()``pstdev()`