在Python中将边列表导入igraph的格式

3 投票
1 回答
4107 浏览
提问于 2025-04-17 13:23

什么是igraph在Python中接受的边列表格式?我需要的包含加权边的文本文件应该是什么样子的?

我之前在R语言中使用过igraph,但现在的机器上没有R的安装,所以我只能用Python。

我有一个名为edgelist.txt的文件,内容大概是这样的:

123123, 321321, 1
222222, 333333, 2
123123, 333333, 3
222222, 321321, 4

...其中的值是以(源节点,目标节点,权重)的形式出现的。

我该如何在Python中导入这个文件?或者我需要重新格式化我的输入吗?

我正在尝试这样做:

import igraph

g = igraph.Graph.Read_Edgelist()

我不太清楚如何设置导入语句,让它知道我的列的顺序是什么。而根据文档的理解(http://hal.elte.hu/~nepusz/development/igraph/tutorial/tutorial.html),它会假设我有321,321个节点在使用,而不是把“321321”当作节点的标签ID。

1 个回答

4

把你文件里的所有逗号去掉,也就是说只用空格来分隔内容。然后使用 Graph.Read_Ncol 这个方法。这样就可以了。你文件里的数字ID会被分配到 name 这个顶点属性里,而边的权重会存储在 weight 这个边属性里。

撰写回答