python - 如何将“networkx.digraph”视为无向
问题描述
我有一个G
表示为的有向图networkx.digraph
。我希望能够对该图的无向版本进行最短路径计算。如何获得该图的无向版本的对象。
我知道这将涉及制作一个图表视图,但是文档对于generic_graph_view
解释如何实现这一点并不是很有用;对于不熟悉库内部的人来说,代码本身也不是。
解决方案
您可以将有向图传递给nx.Graph
G=nx.fast_gnp_random_graph(10,.2,directed=True)
G_undirected = nx.Graph(G)
print(G.edges)
# OutEdgeView([(0, 1), (0, 5), (1, 0), (1, 2), (1, 6), (1, 9),
# (2, 7), (2, 9), (3, 4), (4, 7), (5, 4), (6, 0), (7, 8),
# (8, 9), (9, 4)])
print(G_undirected.edges)
# EdgeView([(0, 1), (0, 5), (0, 6), (1, 2), (1, 6), (1, 9), (2, 7),
# (2, 9), (3, 4), (4, 7), (4, 5), (4, 9), (7, 8), (8, 9)])
推荐阅读
- python - 根据某些条件,将值设置为 Nan 在 Pandas 中不起作用
- node.js - 使用节点,一旦完成执行,进程就不会退出
- python - Pandas 更快地将 pd.pct_change 应用于多个列和多个间隔
- javascript - 是否可以使用他们的 player.js 库在 Vimeo iframe 上使用自定义光标?
- knex.js - 是否有等效于 knex.pluck() 的方法可以返回多列的值?
- git - 为什么我在 Android Studio 3.3.1 中执行 Checkout revision 和 Commit 操作时会收到“Detached Head”消息?
- android-studio - 在 android studio 项目中 access$ 是什么意思?
- api - Trello API:如何在请求 URI 中使用“之前”和“之后”操作过滤器
- javascript - 在javascript中展平嵌套对象
- java - 在java中从同一个文件中读取两个矩阵