导入csv矩阵以在networkx python中创建加权和定向网络

时间:2014-05-26 09:47:54

标签: python networkx

我是python和networkx的新手。 如何通过导入csv格式的权重邻接矩阵来创建定向和加权网络(参见下面的2 * 2示例)?

 3.4, 1.2,
 0.8, 1.3,

提前致谢。

1 个答案:

答案 0 :(得分:1)

至少有两个选项:您可以使用numpy.loadtxt将此类文件直接读入numpy数组。也许这就是你所需要的,因为你可能想要使用矩阵对它执行线性代数运算。

如果您需要定向网络,则可以使用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})]