python igraph - get_adjlist() 不返回顶点名称,仅返回 ID
python igraph - get_adjlist() not returning vertex names, only ids
我正在将 graphml 加载到 igraph
from igraph import *
wiki = Graph.Read_GraphML("discussion_network.graphml")
但是当我这样做的时候
g = wiki.get_adjlist()
我得到了 id,而在 graphml 文件中实际上存储了每个节点的名称。
>>> g = wiki.get_adjlist()
>>> str(g[0])
'[1, 2, 3, 4]'
>>> str(g[1])
'[0, 2, 3097, 3099, 3101, 3102, 3103, 3106]'
>>>
如何创建包含名称而非 ID 的列表?
>>> summary(wiki)
IGRAPH UNW- 17266 116036 --
+ attr: id (v), name (v), weight (e)
谢谢。
更新:
我正在使用循环执行的代码 wiki.vs.find(i)['name']
手动将名称添加到集合中,但我期待一些更文明的解决方案。
python-igraph包中没有这个方法
我期待着尽可能关闭问题。
编写一个效用函数,然后在需要邻接表时使用它:
def get_adjlist_with_names(graph):
names = graph.vs["name"]
result = {}
for index, neighbors in enumerate(graph.get_adjlist()):
result[names[index]] = [names[nei] for nei in neighbors]
return result
我正在将 graphml 加载到 igraph
from igraph import *
wiki = Graph.Read_GraphML("discussion_network.graphml")
但是当我这样做的时候
g = wiki.get_adjlist()
我得到了 id,而在 graphml 文件中实际上存储了每个节点的名称。
>>> g = wiki.get_adjlist()
>>> str(g[0])
'[1, 2, 3, 4]'
>>> str(g[1])
'[0, 2, 3097, 3099, 3101, 3102, 3103, 3106]'
>>>
如何创建包含名称而非 ID 的列表?
>>> summary(wiki)
IGRAPH UNW- 17266 116036 --
+ attr: id (v), name (v), weight (e)
谢谢。
更新:
我正在使用循环执行的代码 wiki.vs.find(i)['name']
手动将名称添加到集合中,但我期待一些更文明的解决方案。
python-igraph包中没有这个方法
我期待着尽可能关闭问题。
编写一个效用函数,然后在需要邻接表时使用它:
def get_adjlist_with_names(graph):
names = graph.vs["name"]
result = {}
for index, neighbors in enumerate(graph.get_adjlist()):
result[names[index]] = [names[nei] for nei in neighbors]
return result