networkx 中最短路径长度的标准差

Standard Deviation of shortest path lengths in networkx

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

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

目前的软件版本(写的时候是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