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


Python NetworkX adjacency_matrix用法及代碼示例


本文簡要介紹 networkx.linalg.graphmatrix.adjacency_matrix 的用法。

用法:

adjacency_matrix(G, nodelist=None, dtype=None, weight='weight')

返回 G 的鄰接矩陣。

參數

G圖形

NetworkX 圖

nodelist列表,可選

根據 nodelist 中的節點對行和列進行排序。如果 nodelist 為 None,則排序由 G.nodes() 生成。

dtypeNumPy 數據類型,可選

數組所需的數據類型。如果無,則使用 NumPy 默認值。

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

用於提供矩陣中每個值的邊數據鍵。如果沒有,則每條邊的權重為 1。

返回

ASciPy 稀疏矩陣

G的鄰接矩陣表示。

注意

對於有向圖,條目 i,j 對應於從 i 到 j 的邊。

如果您想要一個純 Python 鄰接矩陣表示,請嘗試 networkx.convert.to_dict_of_dicts,它將返回可以作為稀疏矩陣處理的 dictionary-of-dictionaries 格式。

對於具有平行邊的 MultiGraph/MultiDiGraph,權重相加。有關其他選項,請參閱to_numpy_array

用於圖中自循環邊的約定是將對角矩陣條目值分配給邊權重屬性(如果邊沒有權重屬性,則為數字 1)。如果需要將邊權重加倍的替代約定,則可以按如下方式修改生成的 Scipy 稀疏矩陣:

>>> G = nx.Graph([(1, 1)])
>>> A = nx.adjacency_matrix(G)
>>> print(A.todense())
[[1]]
>>> A.setdiag(A.diagonal() * 2)
>>> print(A.todense())
[[2]]

相關用法


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