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

average_neighbor_degree
(G, source='out', target='out', nodes=None, weight=None)[source]¶ Returns the average degree of the neighborhood of each node.
The average neighborhood degree of a node
i
is\[k_{nn,i} = \frac{1}{N(i)} \sum_{j \in N(i)} k_j\]where
N(i)
are the neighbors of nodei
andk_j
is the degree of nodej
which belongs toN(i)
. For weighted graphs, an analogous measure can be defined [1],\[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 nodei
,w_{ij}
is the weight of the edge that linksi
andj
andN(i)
are the neighbors of nodei
. Parameters
 GNetworkX graph
 sourcestring (“in””out”)
Directed graphs only. Use “in” or “out”degree for source node.
 targetstring (“in””out”)
Directed graphs only. Use “in” or “out”degree for target node.
 nodeslist or iterable, optional
Compute neighbor degree for specified nodes. The default is all nodes in the graph.
 weightstring 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 node with average neighbors degree value.
See also
Notes
For directed graphs you can also specify indegree or outdegree by passing keyword arguments.
References
 1
A. Barrat, M. Barthélemy, R. PastorSatorras, and A. Vespignani, “The architecture of complex weighted networks”. PNAS 101 (11): 3747–3752 (2004).
Examples
>>> G = nx.path_graph(4) >>> G.edges[0, 1]["weight"] = 5 >>> G.edges[2, 3]["weight"] = 3
>>> nx.average_neighbor_degree(G) {0: 2.0, 1: 1.5, 2: 1.5, 3: 2.0} >>> nx.average_neighbor_degree(G, weight="weight") {0: 2.0, 1: 1.1666666666666667, 2: 1.25, 3: 2.0}
>>> G = nx.DiGraph() >>> nx.add_path(G, [0, 1, 2, 3]) >>> nx.average_neighbor_degree(G, source="in", target="in") {0: 1.0, 1: 1.0, 2: 1.0, 3: 0.0}
>>> nx.average_neighbor_degree(G, source="out", target="out") {0: 1.0, 1: 1.0, 2: 0.0, 3: 0.0}