首页 > 解决方案 > 网络x中最短路径长度的标准偏差

问题描述

networkx.average_shortest_path_length(G)给出图中所有节点对之间最短路径的平均值G. 我想要所有这些最短路径长度的标准偏差。networkx 包中是否有内置方法?

我知道 using nx.all_pairs_shortest_path_length(G),它给出了所有最短路径长度的字典。我希望 networkx 有一些内置的方法,因为它已经有一种计算平均值的方法。

标签: pythongraphnetworkxshortest-pathstandard-deviation

解决方案


该软件的当前版本(撰写本文时为 2,4rc1)没有这种方法。

您可以在此处查看此上下文中可用的方法列表:https ://networkx.github.io/documentation/latest/reference/algorithms/shortest_paths.html#module-networkx.algorithms.shortest_paths.unweighted

由于最短路径长度计算可以通过多种算法手段完成,并且每种算法都有自己独特的缺点列表,因此就 NetworkX 的意图而言,这种方法实际上没有意义,或达到的目标。根据您计算最短路径的目标,您应该为此实现自己的函数,然后可以在您正在使用的特定图形中规避这些限制。

您可以从 NetworkX 已经提供的字典中轻松计算出它。

import numpy as np
import networkx as nx

Pairs = nx.all_pairs_shortest_path_length(G)
np.std(Pairs)

更多关于 numpy.std 的信息:https ://docs.scipy.org/doc/numpy/reference/generated/numpy.std.html


推荐阅读