我不确定我是否了解Networkit如何处理节点的名称
假设我使用另一个Python模块(如Networkx)从edgelist中读取了一个大型图形;然后我将其转换为网络图,并执行一些操作,比如计算成对距离。一段简单的代码可以做到这一点:
import networkx as nx
import networkit as nk
nxG=nx.read_edgelist('test.edgelist',data=True)
G = nk.nxadapter.nx2nk(nxG, weightAttr='weight')
apsp = nk.distance.APSP(G)
apsp.run()
dist=apsp.getDistances()
简单的豌豆
现在,如果我想对这些距离做些什么呢?例如,如果我想根据(我不知道)路径上的权重或任何其他需要检索原始节点ID的度量来绘制它们,该怎么办
getDistances()
函数返回一个列表列表,每个节点一个列表,每个列表与每个其他节点的距离相同,但我不知道Networkit如何将节点的名称映射到它用作节点标识符的整数序列,以及它计算距离并将其存储在输出中所遵循的顺序
从networkx创建新图形时,NetworKit会创建一个字典,将
nxG
中的每个节点id映射到G
中从0到n-1的唯一整数(其中n是节点数)和this instruction。 不幸的是,nx2nk
没有返回此映射,因此您应该自己创建它假设您希望获得从节点
1
到节点2
的距离,其中1
和2
是nxG
中的节点ID:相关问题 更多 >
编程相关推荐