最近,我一直在使用python-igraph软件包,并且我所有的代码都基于我使用igraph创建的图形.现在,我需要为我的图计算一些度量,这些度量显然是在networkx中实现的,而不是在igraph中实现的,例如(katz_centrality_numpy,edge_betweenness_centrality,…).我想知道是否有一种方法可以在这两个程序包之间将一个图形转换为另一个图形,并避免再次读取文件,因为我的文件很大并且必须重复很多相同的过程.
顺便说一句,当我将igraph图传递给networkx函数时,收到以下错误:
TypeError: 'Graph' object is not iterable
谢谢 :)
解决方法:
您可以启动带有边的networkx图:
Graph([(1,2), (3,4)])
编辑:
这是使用方法(感谢nimafl的代码):
graph是igraph图,我们创建G是networkx图.
import networkx
A = graph.get_edgelist()
G = networkx.DiGraph(A) # In case your graph is directed
G = networkx.Graph(A) # In case you graph is undirected