我已经使用read_graphml来加载图形,看起来好像它返回了一个Multiedges图形对象,我无法运行PageRank方法(返回图形必须是非多边形的异常)。 有没有办法将我的图形转换为非多边形类型(我不认为我在加载的图形中有多边...)。
由于
答案 0 :(得分:2)
如果read_graphml()函数返回了MultiGraph()对象,它可能在输入文件中找到了并行(多个)边。但是你可以通过传入一个新的Graph()将其转换为没有平行边的图形。 e.g。
In [1]: import networkx as nx
In [2]: G = nx.MultiGraph([(1,2),(1,2)])
In [3]: G.edges()
Out[3]: [(1, 2), (1, 2)]
In [4]: H = nx.Graph(G)
In [5]: H.edges()
Out[5]: [(1, 2)]