networkx:为边缘指定错误的方向

时间:2017-11-03 18:07:52

标签: python graph networkx

我正在尝试将一些数据帧读取到这样的networkx图:

bipartGraph = nx.Graph()
bipartGraph.add_edge(618254814, 14337833)
bipartGraph.add_edge(618254882, 12087274)

当我使用bipartGraph.edges()函数显示边缘时,我得到以下内容:

[(14337833,618254814),(618254882,12087274)]

因此,第一条边的方向相反。我正在尝试从数据框架构建一个二分图,我需要重复使用它来构建另一个图形。我缺少networkx的任何特定属性吗?

1 个答案:

答案 0 :(得分:1)

至少在networkx 1.11中,如果您的图表是无向的,则添加为(u,v)的边可能会返回(v,u)(u,v)。 [我认为这可能在版本2.0中已经改变]。这是因为底层数据结构是一个dict,并且无法保证dict以任何特定顺序返回值:Why items order in a dictionary changed in Python?

如果你真的想要一个方向,你应该让你的图表成为DiGraph。