运用Python进行TOPSIS综合评价方法

  • 第一步,读取数据;
  • 第二步,对数据进行趋同化;
  • 第三步,对数据进行归一化;
  • 第四步,获取最优列值向量和最劣值向量;
  • 第五步,计算最优方案和最劣方案;
  • 第六步,计算评价对象与最优方案接近程度;
  • 最后,进行排序。

第一步,读取数据;

import pandas as pd #导入pandas工具包
import numpy as np #导入numpy工具包
data = pd.read_excel("F:\Desktop\python运行文件.xlsx")
data[:5]

第二步,对数据进行趋同化;

# 设置城市名为索引
data.set_index(['Unnamed: 0'], inplace=True)
# 获取列名称
n = list(data.columns)
#  高优指标
for i in n:data[i] = data[i]
# 低优指标
for i in n:data[i] = 1/data[i]
# 中性指标
for i in n:Max = np.max(data[i])data[i] = Max/(Max + np.abs(data[i] - Max))

注:这里仅列示各类型指标的处理方法,如果指标体系包含两种以上类型的指标,注意嵌套使用 if 条件语句进行循环。

第三步,对数据进行归一化;

# 进行归一化
for i in n:x = np.power(np.sum(np.power(data[i],2)),0.5)data[i] = data[i]/x  data[:5]

第四步,获取最优列值向量和最劣值向量;

A1 = []
# 获取最优列值
for i in n:Max = np.max(data[i])A1.append(Max)
# 转换形式
A1 = np.array(A1)# 获取最劣列值
A2 = []
for i in n:Min = np.min(data[i])A2.append(Min)
# 转换形式
A2 = np.array(A2)

第五步,计算最优方案和最劣方案;

 计算最优方案
D1 = []
for i in range(1,len(data)+1):d1 = np.power(np.sum(np.power(A1 - data[i-1:i],2).values),0.5)D1.append(d1)
# 转换形式
D1 = np.array(D1)# 计算最劣方案
D2 = []
for i in range(1,len(data)+1):d2 = np.power(np.sum(np.power(A2 - data[i-1:i],2).values),0.5)D2.append(d2)
# 转换形式
D2 = np.array(D2)

第六步,计算评价对象与最优方案接近程度;

C = D2/(D1 + D2)

最后,进行排序。

# 新建数据框
data1 = pd.DataFrame(C, index = list(data.index))
data2 = pd.DataFrame(D1, index = list(data.index))
data3 = pd.DataFrame(D2, index = list(data.index))# 按C值进行排序
data1['rank'] = data1.rank(ascending = False)
data2['rank1'] = data2.rank(ascending = False)
data3['rank2'] = data3.rank(ascending = False)# 对 data1 重新设置列名
data1.columns = ['得分', '排名']data1['最优方案距离'] = data2[0]
data1['排名1'] = data2['rank1']data1['最劣方案距离'] = data3[0]
data1['排名2'] = data3['rank2']# 保存为excel格式
data1.to_excel('F:\Desktop\综合得分.xlsx')data1[:5]

运用Python进行TOPSIS综合评价方法相关推荐

  1. R语言实战Topsis综合评价法

    本文介绍Topsis综合评价方法,通过一个实际案例说明其计算过程,并利用R语言完整过程实现. 1. Topsis方法概述 TOPSIS全称Technique for Order Preference ...

  2. 数学建模——TOPSIS综合评价模型Python代码

    数学建模--TOPSIS综合评价模型Python代码 正常代码 import numpy as np # 导入numpy包并将其命名为np ##定义正向化的函数 def positivization( ...

  3. 多种综合评价方法的python实现

      综合评价类方法是数学建模中常用的方法,主要作用是对多组数据赋权,算是非常万金油的办法.网上有很多封装好的软件可以实现综合评价,但是欠缺一定的灵活性,在这里我们尝试用python实现综合评价.    ...

  4. 数学建模之:TOPSIS综合评价模型python代码

    1.TOPSIS基本概念 TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )模型中文叫做" ...

  5. Topsis算法(优劣解距离法)——综合评价方法

    一.Topsis算法 TOPSIS 法是一种常用的组内综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距.基本过程为基于归一化后的原始数据矩阵,采用余弦法找出有限方案中的最 ...

  6. 数学建模--综合评价方法

    综合评价方法 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮 ...

  7. 数学建模常见的综合评价方法及预测方法

    综合评价方法 •简单加权法 1. 线性加权综合法 适用条件:各评价指标之间相互独立. 对不完全独立的情况,其结果将导致各指标间信息的重复,使评价结果不能客观地反映实际. 主要特点: (1)各评价指标间 ...

  8. SPSSAU综合评价方法汇总

    综合评价是对某事物进行多指标综合评价的过程,是一种科学研究和科学决策的过程.一般应当包括指标体系设计.收集资料.整理资料和统计分析几个阶段. 简单从分析角度来讲,综合评价方法步骤主要包括:确定指标体系 ...

  9. matlab 动态加权综合评价_动态加权综合评价方法.ppt

    动态加权综合评价方法 * * (3). 逼近理想点(TOPSIS)方法 4. 综合评价数学模型的建立方法 二.综合评价的一般方法 * * (3). 逼近理想点(TOPSIS)方法 4. 综合评价数学模 ...

最新文章

  1. [31期] 第一个项目结束之际--俺很高调但很真诚地感谢一个人--涛爷
  2. HP-UX 六大虚拟化技术之“分区”
  3. 服务器芯片采购,服务器采购具体要求.pdf
  4. 程序员:你为什么要离职?
  5. linux登录指令 pgsql_一句一例解读20条Linux常用指令,学会了你就入门了
  6. appinventor如何做个游戏_单亮:游戏的重要性
  7. 计算机主机ppt课件,怎么用电脑制作ppt课件
  8. monodepth2训练细节
  9. C语言将十进制输出二进制、八进制、十六进制的方法总结
  10. 二 Python 基本数据类型
  11. 《论韩愈 》——陈寅恪
  12. H3C 胖AP设置(非VLAN模式)
  13. 创业公司的股权分配 .
  14. 几大搜索引擎搜索结果页大小的比较
  15. 计算机专业买哪一款华硕电脑好,华硕电脑哪款好
  16. 另类玩法,使用 REST API 操作 RabbitMQ
  17. 6—CSS基础选择器(标签选择器、类选择器、id选择器)
  18. html5+css3个人相册网页制作
  19. 2020年机修钳工(初级)试题及答案及机修钳工(初级)模拟考试题库
  20. 欧洲杯竞猜|周末在家预测欧洲杯淘汰赛

热门文章

  1. Win7运行命令的打开方法 Win7运行命令大全(45个)
  2. 关于CAD字体打开乱码,字体自动替换LSP,默认simplex,hztxt
  3. Yii 网页播放器扩展 yii-web-player
  4. 玩转Java网页抓取
  5. 西门子224/226源码 PLC源码 S7 200源代码 ,测试过一些基础的功能
  6. 大白菜PE怎么备份还原系统?
  7. 互联网金融系列-支付清算体系介绍-上
  8. 数字图像处理及matlab实现
  9. oracle中raw是什么格式,oracle中RAW数据类型
  10. 交换机综合实验(华为)