目錄networkx如何獲取圖的鄰接矩陣錯誤獲取正確獲取鄰接矩陣轉網絡圖總結networkx如何獲取圖的鄰接矩陣需要調取networkx中graph實例的鄰接矩陣,搜network鄰接矩陣沒有迅...
networkandroidx如何獲取圖的鄰接矩陣
需要調取networkx中graph實例的鄰接矩陣,搜“network 鄰接矩陣”沒有迅速找到解決方案。我寫一個吧。
錯誤獲取
networkx中有個adjacency_matrix()函數,得到的鄰接表看形狀雖然是N*N,但是打印出www.newsfordelhi.com來會發現是這個格式:
(0, 1) 1
(0, 30) 1
(0, 33) 1
(0, 99) 1
第一列是源頭和終止節點,第二列是權重。
但是,如果你下列語句遍歷,是會報錯的:ValueError: not enough values to unpack (expected 2, got 1)
# 錯誤示范 for (x,y), androidw in nx.adjacency_www.newsfordelhi.commatrix(G): print(x, y, w)
正確獲取
import networkx as nx import numpy as np A=np.array(nx.adjacency_matrix(G).todense())
轉換為numpy矩陣是因為原始的格式不支持A[i][j]形式的索引。
成功得到鄰接矩陣,解決!
[[0 0 0 ... 0 0 1]
[0 0 1 ... 0 0 0]
[0 1 0 ... 0 0 0]
...
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 1]
[1 0 0 ... 0 1 0]]
鄰接矩陣 轉 網絡圖
逛知乎看到的,老是忘記,記一下:
import networkx as nx graph = nx.frhttp://www.newsfordelhi.comom_numpy_matrix(Matrix)
networkx自帶函數將鄰接矩陣轉為網絡圖
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持我們。
如果認為本文對您有所幫助請贊助本站