【问题标题】:Standard Deviation of shortest path lengths in networkx网络x中最短路径长度的标准偏差
【发布时间】:2019-06-14 11:41:06
【问题描述】:

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

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

【问题讨论】:

    标签: python graph networkx shortest-path standard-deviation


    【解决方案1】:

    该软件的当前版本(撰写本文时为 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

    【讨论】:

    • 您建议的方法,给出以下错误:“AttributeError: 'generator' object has no attribute 'dtype'”
    • @guptasonal 如果您首先将对添加到数据帧中 ("df = pd.DataFrame(nx.all_pairs_shortest_path_length(G))") 你可以然后 ("np.std(df)")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    相关资源
    最近更新 更多