Python讀取網絡(圖)邊列表數據進而轉化為鄰接矩陣


import networkx as nx
G = nx.Graph()

path = './edge_list.txt'
edge_list = []
node_set = set() #集合的特性就是元素不會重復,互異的
with open(path, 'r') as f:
  for line in f:
    cols = line.strip().split(' ')
    y1=int(cols[0])
    y2=int(cols[1])
    node_set.add(y1)
    node_set.add(y2)
    edge = (y1,y2) #元組代表一條邊
    edge_list.append(edge)

G.add_nodes_from(range(1,len(node_set)+1)) #節點序號從1開始編號
G.add_edges_from(edge_list)
#A = nx.to_numpy_matrix(G)
A = nx.adjacency_matrix(G).todense()
print(A)

 

示例:

連邊數據:注意連邊數據最后的空行一定要刪掉,否則會報錯

輸出的鄰接矩陣:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM