pythonのscipyで色々なデータ集計
 Author: mito.shimada

scipyで色々な集計まとめ

基本的な統計量の算出などはscipyを使う。

import numpy as np
import scipy as sp

# 表示する小数点の桁数
%precision 3

data = np.array([2, 3, 3, 4, 4, 4, 4, 5, 5, 6])
# 合計
sp.sum(data)

# 平均
sp.mean(data)

# 分散
mu = sp.mean(data)
N = len(data)
sp.sum((data - mu) ** 2) / N

# 分散
sp.var(data, ddof=0)

# 不偏分散(分散の過少評価を織り込んだ分散)
sigma_2 = sp.var(data, ddof=1)

# 標準偏差(分散の平方根をとったもの)
sigma = sp.sqrt(sigma_2) # 不偏分散の平方根を使う場合はddof=1とする
sigma
sp.std(data, ddof=1) # 不偏分散の平方根を使う場合はddof=1とする

# 標準化(平均を0に、標準偏差を1にする)
sp.mean((data - mu)) # 全データから平均値を引いて平均を0にする
data / sigma # 全データを標準偏差で割って標準偏差を1に
sp.std(data / sigma, ddof=1) # 1
standard = (data - mu) / sigma
standard # 標準化したデータ
# 最大値
sp.amax(data)
# 最小値
sp.amin(data)
# 中央値
sp.median(data)
from scipy import stats
# 四分位点
stats.scoreatpercentile(data, 25)