在Python中将边列表导入igraph的格式
什么是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
这个边属性里。