This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.


average_shortest_path_length(G, weight=None)[source]

Return the average shortest path length.

The average shortest path length is

a =\sum_{s,t \in V} \frac{d(s, t)}{n(n-1)}

where V is the set of nodes in G, d(s, t) is the shortest path from s to t, and n is the number of nodes in G.

  • G (NetworkX graph) –
  • weight (None or string, optional (default = None)) – If None, every edge has weight/distance/cost 1. If a string, use this edge attribute as the edge weight. Any edge attribute not present defaults to 1.

NetworkXError – if the graph is not connected.


>>> G=nx.path_graph(5)
>>> print(nx.average_shortest_path_length(G))

For disconnected graphs you can compute the average shortest path length for each component: >>> G=nx.Graph([(1,2),(3,4)]) >>> for g in nx.connected_component_subgraphs(G): ... print(nx.average_shortest_path_length(g)) 1.0 1.0