Python networkx中獲取圖的鄰接矩陣方式
networkx如何獲取圖的鄰接矩陣
需要調(diào)取networkx中g(shù)raph實例的鄰接矩陣,搜“network 鄰接矩陣”沒有迅速找到解決方案。我寫一個吧。
錯誤獲取
networkx中有個adjacency_matrix()函數(shù),得到的鄰接表看形狀雖然是N*N,但是打印出來會發(fā)現(xiàn)是這個格式:
(0, 1) 1
(0, 30) 1
(0, 33) 1
(0, 99) 1
第一列是源頭和終止節(jié)點,第二列是權(quán)重。
但是,如果你下列語句遍歷,是會報錯的:ValueError: not enough values to unpack (expected 2, got 1)
# 錯誤示范 for (x,y), w in nx.adjacency_matrix(G): ? ? print(x, y, w)
正確獲取
import networkx as nx import numpy as np A=np.array(nx.adjacency_matrix(G).todense())
轉(zhuǎn)換為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]]
鄰接矩陣 轉(zhuǎn) 網(wǎng)絡(luò)圖
逛知乎看到的,老是忘記,記一下:
import networkx as nx graph = nx.from_numpy_matrix(Matrix) ?
networkx自帶函數(shù)將鄰接矩陣轉(zhuǎn)為網(wǎng)絡(luò)圖
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python函數(shù)中將變量名轉(zhuǎn)換成字符串實例
這篇文章主要介紹了python函數(shù)中將變量名轉(zhuǎn)換成字符串實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05python3 deque 雙向隊列創(chuàng)建與使用方法分析
這篇文章主要介紹了python3 deque 雙向隊列創(chuàng)建與使用方法,結(jié)合實例形式分析了python3 deque 雙向隊列創(chuàng)建、添加、清空、拷貝等相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下2020-03-03python轉(zhuǎn)換wrf輸出的數(shù)據(jù)為網(wǎng)頁可視化json格式
這篇文章主要介紹了python轉(zhuǎn)換wrf輸出的數(shù)據(jù)為網(wǎng)頁可視化json格式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09