Python中带有字符串节点的邻接矩阵



我有一个节点的csv文件和一个边的csv档案-所有节点都是字符串。我需要帮助,我如何在python中构建这个图的邻接矩阵?

数据示例:

Nodes csv:
a
b
c
d
Edges csv:
a,b
b,c
a,c
d,a
b,d
I want it to be presented as an adjacency matrix:
a  b  c  d
a 0  1  1  1
b 1  0  1  1
c 1  1  0  0
d 1  1  0  0

谢谢!

好的:假设你的节点和边已经被转换为如下列表,这是可行的(正如你所看到的,代码是不言自明的(:

nodes = ['a','b','c','d']
edges = [('a','b'),('b','c'),('a','c'),('d','a'),('b','d')]
import numpy as np
n = len(nodes)
matrix = np.zeros((n,n), dtype=int)
for i in range(n):
for j in range(n):
if (nodes[i],nodes[j]) in edges or (nodes[j],nodes[i]) in edges:
matrix[i,j] = matrix[j,i] = 1

最新更新