数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。最典型的就是数据的归一化处理,即将数据统一映射到(0,1]区间上
(1)0-1标准化
将数据的最大最小值记录下来,并通过max-min作为基数(即min=0,max=1)进行数据的归一化处理
x=(x - min) / (max - min)
df = pd.DataFrame({"value1":np.random.rand(10)*20,
'value2':np.random.rand(10)*100})
print(df.head())
print('------')
# 创建数据
def data_norm(df,*cols):
df_n = df.copy()
for col in cols:
ma = df_n[col].max()
mi = df_n[col].min()
df_n[col + '_n'] = (df_n[col] - mi) / (ma - mi)
return(df_n)
# 创建函数,标准化数据
df_n = data_norm(df,'value1','value2')
print(df_n.head())
(2)Z-score标准化
Z分数(z-score),是一个分数与平均数的差再除以标准差的过程 → z&