# 7. SciPy 笔记
# 1. 安装
pip install scipy
1
# 2. 滤波器(signal)
巴特沃斯滤波器
函数
scipy.signal.butter(N, Wn, btype='low', analog=False, output='ba', fs=None)
1参数
- 滤波器阶数 N
- 归一化截至频率 Wn=2 *截止频率/采样频率
- 滤波器类别 btype(可选): 'lowpass' 'highpass' 'bandpass' 'bandstop'
- 模拟/数字信号 analog(可选): True / False(default)
代码
from scipy import signal def flt(data): """ 低通滤波 :param data: data need to be filtered :return: filtered data """ # noinspection PyTupleAssignmentBalance b, a = signal.butter(8, 0.2, 'lowpass') out = signal.filtfilt(b, a, data) return out
1
2
3
4
5
6
7
8
9
10
11
12
# 3. 相关性分析
相关性系数:其范围(-1,1),正值表示正相关,负值表示负相关,0 表示不相关
Pearson 皮尔逊
两个变量中的任意一个不能一成不变,即标准差为 0
from scipy.stats import pearsonr # pear:pearson 相关系数 # p:p 值越小,表示相关系数越显著,一般 p 值在 500 个样本以上时有较高的可靠性 pear, p = pearsonr(x, y)
1
2
3
4Spearman 斯皮尔曼
没有数据条件要求,使用较广
from scipy.stats import spearmanr rho, p = spearmanr(x, y)
1
2Kendall 肯德尔
计算对象是分类变量
from scipy.stats import kendalltau tau, p = kendalltau(x, y)
1
2