
#%% 改进CRITIC法
#完整代码
#导入相关库
import pandas as pd
import numpy as np
#导入数据
data=pd.read_excel('D:\lunwen\结构加功能.xlsx')
label_need=data.keys()[1:]
data1=data[label_need].values
#查看行数和列数
data2 = data1
[m,n]=data2.shape
#负向指标标准化
index=[2] #负向指标位置,注意python是从0开始计数,对应位置也要相应减1
for j in index:
print('负向指标数据',data1[:,j])
d_max=max(data1[:,j])
d_min=min(data1[:,j])
data2[:,j]=(d_max-data1[:,j])/(d_max-d_min)
# 正向指标标准化
#正向指标位置
index_all=np.arange(n)
index=np.delete(index_all,index)
for j in index:
print('正向指标数据',data1[:,j])
d_max=max(data1[:,j])
d_min=min(data1[:,j])
data2[:,j]=(data1[:,j]-d_min)/(d_max-d_min)
#对比性
the=np.std(data2,axis=0)
print('各指标标准差:',the)#标准差
PJ=np.mean(data2,axis=0)
print('各指标平均值:',PJ)#平均值
BYXS=the/PJ
print('各指标变异系数:',BYXS)#变异系数
#矛盾性
data3=list(map(欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)