defMinMaxNorm(x):# 标准化
min_val = np.nanmin(x, axis=0)
max_val = np.nanmax(x, axis=0)for i inrange(len(x)):
x[i]=(x[i]- min_val)/(max_val - min_val)return x
2.Z-Score标准化
# 标准化defrobust_zscore(x: pd.Series, zscore=False):# https://en.wikipedia.org/wiki/Median_absolute_deviation# 删除以异常值
x = x - x.median()
mad = x.abs().median()
x = np.clip(x / mad /1.4826,-3,3)# 标准化if zscore:
x -= x.mean()
x /= x.std()return x