使用sklearn的MinMaxScaler方法进行最大最小值标准化处理只需要两行:
from sklearn.preprocessing import MinMaxScaler
tool = MinMaxScaler(feature_range=(0, 1)) #根据需要设置最大最小值,这里设置最大值为1.最小值为0
data = tool.fit_transform(values) #标准化,注意这里的values是array
对pandas dataframe进行最大最小值标准化处理再加两步:将dataframe转化为array,以及将array还原为dataframe.
import pandas
from pandas import read_excel
from sklearn.preprocessing import MinMaxScaler
dataset = read_excel('D:/data/test.xlsx', header=0, index_col=0)
values = dataset.values # 将dataframe转化为array
values = values.astype('float32') # 定义数据类型
# 标准化
tool = MinMaxScaler(feature_range=(0, 1))
data = tool.fit_transform(values)
df=pandas.DataFrame(data) #将array转化为dataframe
df.columns=dataset.columns #命名标题行
df.to_excel ('D:/data/result.xlsx',index=None) #另存为excel(删除索引)