我正在根据聚类系数查找前10个节点,到目前为止,我已经尝试过了
clus_coef = []
for node in G.nodes():
clus_coef.append(nx.clustering(G,node))
我不确定,如何获得前10个节点及其系数?
答案 0 :(得分:2)
您可以将它们存储在字典中,然后根据类似的值对字典进行排序
import operator
clus_coef = {}
for node in G.nodes():
clus_coef[node] = nx.clustering(G,node)
sorted_clus_coef = sorted(clus_coef.items(), key=operator.itemgetter(1),reverse=True)
答案 1 :(得分:0)
您首先获得聚类结果clus_coef
,然后根据值对字典进行排序。使用Counter.most_common()
方法,它将为您排序项目。然后,您可以返回前N
个热门项目:
import networkx as nx
clus_coef = nx.clustering(G)
from collections import Counter
c = Counter(clus_coef)
c.most_common(10)