Note
This documents the development version of NetworkX. Documentation for the current release can be found here.
networkx.algorithms.wiener.wiener_index¶

wiener_index
(G, weight=None)[source]¶ Returns the Wiener index of the given graph.
The Wiener index of a graph is the sum of the shortestpath distances between each pair of reachable nodes. For pairs of nodes in undirected graphs, only one orientation of the pair is counted.
 Parameters
 GNetworkX graph
 weightobject
The edge attribute to use as distance when computing shortestpath distances. This is passed directly to the
networkx.shortest_path_length()
function.
 Returns
 float
The Wiener index of the graph
G
.
 Raises
 NetworkXError
If the graph
G
is not connected.
Notes
If a pair of nodes is not reachable, the distance is assumed to be infinity. This means that for graphs that are not stronglyconnected, this function returns
inf
.The Wiener index is not usually defined for directed graphs, however this function uses the natural generalization of the Wiener index to directed graphs.
Examples
The Wiener index of the (unweighted) complete graph on n nodes equals the number of pairs of the n nodes, since each pair of nodes is at distance one:
>>> n = 10 >>> G = nx.complete_graph(n) >>> nx.wiener_index(G) == n * (n  1) / 2 True
Graphs that are not stronglyconnected have infinite Wiener index:
>>> G = nx.empty_graph(2) >>> nx.wiener_index(G) inf