如何在Networkx中将多边图转换为非有向图?

时间:2013-02-25 12:34:16

标签: networkx

我已经使用read_graphml来加载图形,看起来好像它返回了一个Multiedges图形对象,我无法运行PageRank方法(返回图形必须是非多边形的异常)。 有没有办法将我的图形转换为非多边形类型(我不认为我在加载的图形中有多边...)。

由于

1 个答案:

答案 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)]