当前位置: 首页 > 知识库问答 >
问题:

如何在networkx中选择计算平均路径长度为1或2的路径?

宰父单弓
2023-03-14

如何计算路径的平均路径长度是一个,或两个在networkx?例如,在下面的图表中,平均路径长度等于一是6,二是2。

import networkx as nx
import matplotlib.pyplot as plt
G=nx.DiGraph()
G.add_edges_from([(1, 2), (1, 5), (1, 6), (1, 9), (2, 3), (2, 4), (6, 7)])
pos=nx.spring_layout(G, iterations=5000) 
plt.figure()
nx.draw(G, pos)

共有1个答案

郝承悦
2023-03-14

如果我理解正确的话,你的意思不是平均路径长度,而是一般的路径长度。您的问题旨在找到具有给定长度的路径。

鉴于您的图形似乎是一棵树,我们可以将树的根命名为“a”,然后运行以下代码以生成所需的结果:

path=nx.single_source_shortest_path(G,'A',cutoff=2)
for i in path:
    print(str(i)+" has path length "+ str(len(path[i]-1))))
 类似资料:
  • 我有一个由未加权边构建的图(a),我想计算主图(a)中最大连通图(giantC)的平均最短路径长度。但是,到目前为止,该脚本已经运行了3个多小时(在Colab和本地进行了尝试),对于和都没有输出任何结果。 我使用的是, 这是我的剧本 有没有办法让它更快?或者是计算giantC图的直径和最短路径长度的替代方法?

  • 我想计算标记图中具有相同标签的节点的平均最短路径。例如,红色标记为A,黑色标记为B。 V_m是具有相同标签的顶点。n{i,j}是最短路径数,d{i,j}是测地距离。 我想使用Networkx来实现它。开始使用节点属性进行标记。 我可以用 现在我只想将键/值对保留在标签为例如“A”的位置。因此,我可以关注具有相同标签的节点。我希望它不是抽象的,但你有什么想法吗? 提前谢谢。

  • 我想在我的多方向图中计算,但有一个节点未与其他节点连接 例如,我有一个具有节点和边的网络,如下所示: 它将以如下异常结束

  • 我正在使用networkx计算k最短的简单路径。返回成本递增顺序的路径列表(考虑权重的累积路径长度)。 我有兴趣获得这些路径的成本。networkX中是否有任何简单的函数来获得这个? 这个问题类似于这个问题:Networkx中是否已经实现了返回路径长度和路径的算法?。 我相信在那篇帖子里贴出的答案是错误的。如何添加自定义函数来计算图形中的边权重?我提出了以下解决方案(见下文)。 这是正确的方法吗?

  • 我有一个邻接矩阵(作为一个数据帧),每个单元都有从a到B的概率 行是“从”,列是“到”。每行的总和是1.0。 我已经建立了一个网络图,现在概率是图的“权重”。 我试图找到最可能的路径——即权重的乘积是最低的,而不是总和。知道networkx的最短路径查找i项最优路径的权重之和。如何根据最优产品找到最优路径? 编辑:输入是图G、节点“源”和节点“目标”,为简单起见,它们确实通过多条路径连接。我想在G

  • 更新时间:2019-06-13 15:35:24 节点简介 路径选择节点类似switch,逻辑可以根据对数据源的判定,来执行不同的路径。最少有一条路径,最多允许10条路径。 使用场景 如果您需要对设备上报的属性等输入值做判断,输入满足条件的时候执行路径,不满足的时候继续进行下一个路径条件的判断,根据判断结果执行不同的逻辑,那您可以使用路径选择节点。典型使用场景如下所示: 配置项 数据源 数据源可以