version:python 3.6
环境:anaconda/JupyterLab 0.27.0
操作系统:Windows 10
数据处理时经常用到数据归一化和标准化,但是一个数据集,不同字段之间的量纲和数据大小分布不一致。所以需要按列归一化,而不是直接对所有数据归一化。
下面是我写的函数,可以直接调用:
def minmax_scale(data):
for col in feature_list:
MAX = data[col].max()
MIN = data[col].min()
MEAN = data[col].mean()
if MAX > MIN:
data[col] = data[col].apply(lambda x: (float(x) - float(MIN)) / (float(MAX) - float(MIN))).fillna(MEAN)
else:
data[col] = (data[col] / float(MAX)).fillna(MEAN)
return data