根据数据中pubyearn的信息这一信息在202305CHErefRAdta文件中根据RA构建的共现矩阵各维度这是对202305CHErefRAdta文件依据pubid构建好的共现矩阵一个pubid对应一个共现矩阵csv文件都存在202305CHErefRA文件夹中共现矩阵的命名直接用的202305CHErefRAdta这一文件中的pubid变量内容如che001che002一直到che271到文
由于没有提供具体的数据文件,以下仅提供代码框架供参考:
import pandas as pd
# 定义函数用于计算Dis值
def calculate_dis(matrix):
n = matrix.shape[0]
s = 0
for i in range(n):
for j in range(i+1, n):
s += 1 - matrix.iloc[i,j]
return s / (n*(n-1)/2)
# 读取共现矩阵文件,根据pubid对应的pubyearn选择相应的表格
def read_matrix(pubid, pubyearn):
if pubyearn < 1950:
filename = '1925.csv'
elif pubyearn < 1980:
filename = '1955.csv'
else:
filename = '1985.csv'
matrix = pd.read_csv('COS-SCbased/' + filename, index_col=0)
return matrix.loc[pubid]
# 读取pubid文件,逐行计算Dis值并输出到csv文件
with open('pubid.txt', 'r') as f:
pubid_list = f.read().splitlines()
dis_list = []
for pubid in pubid_list:
matrix = read_matrix(pubid, pubyearn)
dis = calculate_dis(matrix)
dis_list.append(dis)
result = pd.DataFrame({'pubid': pubid_list, 'Dis': dis_list})
result.to_csv('result.csv', index=False)
``
原文地址: https://www.cveoy.top/t/topic/fbrT 著作权归作者所有。请勿转载和采集!