本文是用Excel表格内的学科引用矩阵计算得到学科相似度,分为以下几个步骤:
第一步,读取Excel数据,返回行标签和列标签和内部的数值(n维数组)。
第二步,对数据按行进行计算相似度。
其中这里写了2个计算相似度的方法,一个是cosine相似度,
另一个是由张琳的这篇文章《Diversity of References as an Indicator of the
Interdisciplinarity of Journals: Taking Similarity
Between Subject Fields Into Account》得到,由claArr方法计算,具体如下:
具体的标准化和归一化,看情况调用。
第三步,将计算得到的结果重新装进excel 表
import math
from openpyxl import load_workbook
import numpy as np
import pandas as pd
def genEmptyArr(i,j):
a = []
for ii in range(i):
b = []
for jj in range (j):
b.append(0)
a.append(b)
return a
#归一化
def normalization(data):
_range = np.max(data) - np.min(data)
return (data - np.min(data)) / _r