當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NetworkX average_neighbor_degree用法及代碼示例


本文簡要介紹 networkx.algorithms.assortativity.average_neighbor_degree 的用法。

用法:

average_neighbor_degree(G, source='out', target='out', nodes=None, weight=None)

返回每個節點的鄰域平均度。

節點i的平均鄰域度為

其中 N(i) 是節點 i 的鄰居,k_j 是屬於 N(i) 的節點 j 的度數。對於加權圖,可以定義類似的度量[1],

其中s_i是節點i的加權度,w_{ij}是連接ij的邊的權重,N(i)是節點i的鄰居。

參數

GNetworkX 圖
source字符串(“in”|”out”|”in+out”)

僅限有向圖。使用 “in”- 或 “out”-degree 作為源節點。

target字符串(“in”|”out”|”in+out”)

僅限有向圖。使用“in”- 或“out”-degree 作為目標節點。

nodes列表或可迭代,可選

計算指定節點的鄰居度。默認為圖中的所有節點。

weight字符串或無,可選(默認=無)

保存用作權重的數值的邊屬性。如果沒有,則每條邊的權重為 1。

返回

d: 字典

由具有平均鄰居度值的節點鍵入的字典。

拋出

NetworkXError

如果 sourcetarget 不是 ‘in’, ‘out’ 之一,或“in+out”。如果為無向圖傳遞了sourcetarget

注意

對於有向圖,您還可以通過傳遞關鍵字參數來指定度數或out-degree。

參考

1

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

例子

>>> 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: 0.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}

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.assortativity.average_neighbor_degree。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。