⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 熵值法,可对证券行业进行评估指标
💻
字号:
#Filename 熵值法.py
data1=[1.0,2.0,3.0]
data2=[4.0,5.0,6.0]
zhibiao=[1,0,1]
data=[data1,data2,zhibiao]



def max(str):##最大值函数
  n=len(str)
  i=0
  temp=str[0]
  for i in range(1,n-1):
   if str[i]>temp:
       temp=str[i]
 return temp      


def min(str):##最小值函数
  n=len(str)
  i=0
  temp=str[0]
  for i in range(1,n-1):
   if str[i]<temp:
       temp=str[i]
 return temp

def add(str):##累加函数
   n=len(str)
   s=0
   i=0
   for i in range(0,n-1):
       s+=str[i]
return s

def chu(str):##除函数
  n=len(str)
  i=0
  for i in range(0,n-1):
    str[i]/=s
    return str

def calculate(str):
                 
  n=len(str)
  i=0
  e=0
  k=1/ln(len(data1))              
  for i in range(0,n-1):
         e+=str[i]*ln(str[i])
   e=e*k
   return e
for i in range(0,len(data)):##函数转置
    for j in range (0,len(data1)):
        last[j][i]=data[i][j]
for i in range(0,len(data1):
        if last[i][len(data)]=1:
            s=max(last[i])
               for j in range(0,len(data)-1):
                   last[i][j]/=s
        s=min(last[i])
               for j in range(0,len(data)-1):
                   last[i][j]/=s
  for i in range(0,len(data1):
        add(last[i])
        chu(last[i])

for i in range(0,len(data1)):
    e[i]=calculate(last[i])
    b[i]=1-e[i]
for i in range (0,len(b)):
        s+=b[i]
for i in range (0,len(b)):
        b[i]/=s
b.sort(reverse=True)         
print b
                               

         
             
               

    
   

            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -