- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不确定我是否理解 Networkit 如何处理节点的名称。
假设我使用另一个 Python 模块(如 Networkx)从边缘列表中读取了一个大图;然后我将它转换为网络图并执行一些操作,比如计算成对距离。执行此操作的一段简单代码可以是:
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:
import networkx as nx
import networkit as nk
nxG=nx.read_edgelist('test.edgelist',data=True)
G = nk.nxadapter.nx2nk(nxG, weightAttr='weight')
# Get mapping from node ids in nxG to node ids in G
idmap = dict((id, u) for (id, u) in zip(nxG.nodes(), range(nxG.number_of_nodes())))
apsp = nk.distance.APSP(G)
apsp.run()
dist=apsp.getDistances()
# Get distance from node `1` to node `2`
dist_from_1_to_2 = dist[idmap['1']][idmap['2']]
关于python - 在 Networkit 中检索原始节点名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60285134/
我不确定我是否理解 Networkit 如何处理节点的名称。 假设我使用另一个 Python 模块(如 Networkx)从边缘列表中读取了一个大图;然后我将它转换为网络图并执行一些操作,比如计算成对
我不确定我是否理解 Networkit 如何处理节点的名称。 假设我使用另一个 Python 模块(如 Networkx)从边缘列表中读取了一个大图;然后我将它转换为网络图并执行一些操作,比如计算成对
例如,我想向节点和边添加一些属性(例如,一些标签或任何其他附加信息)。 可以在 NetworKit 中做到这一点吗? 提前谢谢您! 最佳答案 NetworKit 不存储内部附加的节点/边属性。但是,假
我是一名优秀的程序员,十分优秀!