我是python和networkx的新手。如何通过导入csv格式的权重邻接矩阵来创建有向权重网络(请参阅下面的2 * 2示例)?
3.4, 1.2,
0.8, 1.3,
提前致谢。
解决方案
至少有两个选择:您可以使用将文件直接读取到numpy数组中numpy.loadtxt。也许这就是您所需要的,因为您可能想使用矩阵对矩阵执行线性代数运算。
如果您需要定向网络,则可以使用networkx.from_numpy_matrix从中初始化图:
adj_mat = numpy.loadtxt(filename)
net = networkx.from_numpy_matrix(adj_mat, create_using=networkx.DiGraph())
net.edges(data=True)
[(0, 0, {'weight': 3.4}),
(0, 1, {'weight': 1.2}),
(1, 0, {'weight': 0.8}),
(1, 1, {'weight': 1.3})]