最近在利用熵权法选取最优指标数据时,计算权重得到的是全为nan值的权重,经过分析过程,找到问题所在。
数据展示:
熵权法步骤:
step 1 :标准化处理
step 2 : 计算每个维度的信息熵
step 3 :差异系数
step 4 :计算权重
step 5 : 计算综合评分
python实现:
#导入数据
data = pd.read_excel(r'data\data.xlsx',sheet_name = None)
df5 = data['2021']
df = df5.drop('class',axis = 1) #axis参数默认为0
df.head()
#调包
from sklearn import preprocessing
import pandas
min_max_normalizer=preprocessing.MinMaxScaler(feature_range=(0,1))
#feature_range设置最大最小变换值,默认(0,1)
scaled_data=min_max_normalizer.fit_transform(df)
#将数据缩放(映射)到设置固定区间
df_normalized=pandas.DataFrame