igraph初始化与重量

时间:2015-12-16 20:05:04

标签: python igraph vertices edges

如何使用权重初始化igraph?

这就是我所拥有的

cr = csv.reader(open("atlas.csv","rb"))

mapping = {}
for row in cr:
    if int(row[2]) == 1:
        continue

    source = int(row[0])
    target = int(row[1])

    if source in mapping:
        list = mapping[source]
        list.append(target)
    else:
        mapping[source] = [target]

print mapping

G = Graph(edges = [(v, a) for v in mapping.keys() for a in mapping[v]])
print G

我尝试使用edges = (v, a, w)添加重量,但这不起作用。

1 个答案:

答案 0 :(得分:2)

根据文档,您可以使用TupleList方法:

  

如果您有加权图表,则可以   使用第三项包含边缘权重的项目   将edge_attrs设置为"weight"["weight"]

您也可以将weights参数设置为True

  

weights - 指定图表加权的替代方法。如果   你将权重设置为true并且没有给出edge_attrs,它将是   假设edge_attrs["weight"]igraph将解析第三个   元素从每个项目变成边缘权重。如果您将weights设置为a   字符串,将假设edge_attrs仅包含该字符串,   并且igraph会将边权重存储在该属性中。