【Python】 統計値(特徴量)の計算

インポート

import numpy as np
import scipy.stats

最大値、最小値

# 最大値
np.max(data)

# 最小値
np.min(data)

中央値

# 中央値
np.median(data)

平均、分散、標準偏差

Numpyを使って分散、標準偏差を求めた場合、デフォルトで不偏分散・不偏標準偏差が返される。

# 平均
np.mean(data)

# 分散
np.var(data)

# 標準偏差
np.std(data)

歪度、尖度

# 歪度
scipy.stats.skew(data)

# 尖度
scipy.stats.kurtosis(data)

自乗平均平方根

# 自乗平均平方根
np.sqrt(np.square(data).mean())

周波数領域エントロピー

# FFT
fft_data = np.fft.fft(data)

# パワースペクトル
power_data = abs(fft_data)**2

# パワースペクトルの割合
p = power_data / sum(power_data)

# 周波数領域エントロピー

ent(data)

def ent(data):
   ent = 0
   for i in range(data_size):
       ent += data[i]*np.log2(data[i])
   return -ent

いいなと思ったら応援しよう!