我有一个网络图对象,它是加权和无向的。我试图用Adamic Adar指数预测每个节点的10个新链接。Networkx中的adamic_adar_index函数返回一个元组生成器,格式为(nodeid1,nodeid2,adamic_adar_index)。我不熟悉Python中的生成器。我想做的是按nodeid1分组生成器,并返回nodeid1的最大10个指数。以下是我的代码,其中“coauthor”是网络对象,“preds”是生成器。数据文件在此处https://www.dropbox.com/s/hyr1hgjs4yt03x2/coauthor.csv?dl=0。
import csv
import networkx as nx
g = nx.read_weighted_edgelist("coauthor.csv", delimiter='\t', encoding='utf-8')
coauthor = nx.read_weighted_edgelist("coauthor.csv", delimiter='\t', encoding='utf-8')
preds = nx.adamic_adar_index(coauthor)