我需要从外部文件读取加权图
在其他帖子中建议使用ncol,但我尝试了“ ncol”格式,但无法正常工作:
g = igraph.Graph.Read_Ncol("small.ncol")
for vertex in g.vs():
print vertex["weight"]
小号
0 1 0.47
2 0 0.67
2 1 0.94
3 0 0.98
3 1 0.05
3 2 0.24
4 0 0.12
4 1 0.22
4 2 0.36
4 3 0.69
5 0 0.82
6 5 0.97
7 5 0.43
7 6 0.83
8 5 0.44
8 6 0.49
8 7 0.39
9 5 0.37
9 6 0.55
9 7 0.73
9 8 0.68
10 0 0.34
11 10 0.22
12 11 0.40
13 12 0.78
14 10 0.59
14 13 0.81
输出:
Traceback (most recent call last):
File "stackoverflow.py", line 54, in <module>
print vertex["weight"]
KeyError: 'Attribute does not exist'
我试图从Nexus读取加权图:
例如:这是一个加权图:http://nexus.igraph.org/api/dataset_info?format=xml&id=1
<id>1</id>
<sid>karate</sid>
<tags>
<tag>social network</tag>
<tag>undirected</tag>
**<tag>weighted</tag>**
</tags>
但也行不通:
g = igraph.Nexus.get("karate")
for vertex in g.vs():
print vertex["weight"]
输出:
Traceback (most recent call last):
File "stackoverflow.py", line 54, in <module>
print vertex["weight"]
KeyError: 'Attribute does not exist'
我不知道如何阅读加权图,有人可以帮忙吗?
最佳答案
您正在尝试读取顶点的权重,但是在这些图形中,权重对应于边:
g = igraph.Nexus.get("karate")
for edge in g.es:
print edge["weight"]
关于python - 在python中使用“igraph”读取加权图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23347076/