如何在python igraph中创建.gml文件的加权图

时间:2014-02-16 13:02:58

标签: python graph import igraph weighted

我有一个.gml文件(Nor graphML),其中包含我的节点和边缘的详细信息。我通过以下代码使用igraph库导入python中的图形:

g = igraph.read("mydata.gml")"

我在.gml文件中为边缘提供了值:

edge
[
source 1
target 0
value 6.25
]

该文件也以

开头
graph
[
  directed 0
  weighted 1

但是当我检查时,g.is_weighted()会返回false。如何使igraph将.gml文件中的值作为图形边缘的权重?

1 个答案:

答案 0 :(得分:1)

is_weighted()方法只会检查您的图表是否具有名为weight的边缘属性。在您的情况下,您不这样做,因为GML文件中的值存储在value边缘属性中,而不是weight中。解决方案是在输入文件中用value替换每个weight,或者在加载文件后重命名igraph中的属性,如下所示:

g.es["weight"] = g.es["value"]
del g.es["value"]