Как вычислить узлы моей пары Graph из (node, value) - PullRequest
0 голосов
/ 22 мая 2019

Я новичок в Python и, вычисляя центральности (в данном случае центральность katz) узлов в моей сети, я получил верхние узлы с наивысшей центральностью, но я не знаю, как получить имя узла (int) иззаданная пара (узел, значение)?

Я пробовал это:

list(reversed(sorted((value, node)for (node, value) in centrality.items())))[0][1]

Но это только дает мне имя верхнего 1 узла, а не верхних k узлов.

import networkx as nx 
import math 
G = nx.read_gml("dataset.gml", label='id')

phi = (1+math.sqrt(5))/2.0 # largest eigenvalue of adj matrix 
centrality = nx.katz_centrality_numpy(G,1/phi-0.01) 

import operator
budget=5

k=sorted(centrality.items(),key=operator.itemgetter(1), reverse=True)[0:budget]


print(k)

[(32, 0,43505798508638444), (9, 0,33579188967615126), (29, 0,2710852009834701), (3, 0,25130944720377396), (1, 0,24699259560662057)]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...