Skip to main content
`Ctrl`+`K`

# average_degree_connectivity

average_degree_connectivity(G, source='in+out', target='in+out', nodes=None, weight=None)

  Compute the average degree connectivity of graph.

  The average degree connectivity is the average nearest neighbor degree of nodes with degree k. For weighted graphs, an analogous measure can be computed using the weighted average neighbors degree defined in [1], for a node `i`, as

  \[k_{nn,i}^{w} = \frac{1}{s_i} \sum_{j \in N(i)} w_{ij} k_j\]

  where `s_i` is the weighted degree of node `i`, `w_{ij}` is the weight of the edge that links `i` and `j`, and `N(i)` are the neighbors of node `i`.

  Parameters:
    G NetworkX graph
    source“in”|”out”|”in+out” (default:”in+out”)

      Directed graphs only. Use “in”- or “out”-degree for source node.

    target“in”|”out”|”in+out” (default:”in+out”

      Directed graphs only. Use “in”- or “out”-degree for target node.

    nodes list or iterable (optional)

      Compute neighbor connectivity for these nodes. The default is all nodes.

    weight string or None, optional (default=None)

      The edge attribute that holds the numerical value used as a weight. If None, then each edge has weight 1.

  Returns:
    d dict

      A dictionary keyed by degree k with the value of average connectivity.

  Raises:
    NetworkXError

      If either `source` or `target` are not one of ‘in’, ‘out’, or ‘in+out’. If either `source` or `target` is passed for an undirected graph.

  See also

  `average_neighbor_degree`

  References

  [1]

  A. Barrat, M. Barthélemy, R. Pastor-Satorras, and A. Vespignani, “The architecture of complex weighted networks”. PNAS 101 (11): 3747–3752 (2004).

  Examples

      >>> G = nx.path_graph(4)
      >>> G.edges[1, 2]["weight"] = 3
      >>> nx.average_degree_connectivity(G)
      {1: 2.0, 2: 1.5}
      >>> nx.average_degree_connectivity(G, weight="weight")
      {1: 2.0, 2: 1.75}