由于没有提供具体的数据文件,以下仅提供代码框架供参考:

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)
``
根据数据中pubyearn的信息这一信息在202305CHErefRAdta文件中根据RA构建的共现矩阵各维度这是对202305CHErefRAdta文件依据pubid构建好的共现矩阵一个pubid对应一个共现矩阵csv文件都存在202305CHErefRA文件夹中共现矩阵的命名直接用的202305CHErefRAdta这一文件中的pubid变量内容如che001che002一直到che271到文

原文地址: https://www.cveoy.top/t/topic/fbrT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录