相关疑难解决方法(0)

Networkx:提取包含给定节点的连通组件(有向图)

我试图从一个大图中提取包含特定节点的所有连接节点的子图.

Networkx库中是否有解决方案?

[编辑]
我的图是DiGraph

[编辑]
简单地改写:
我想包含我的特定节点n_i个和与所有连接直接或间接地使用任何传入或outcoming边缘(由其它节点传递)的节点我的曲线图的一部分.
例:

>>> g = nx.DiGraph()
>>> g.add_path(['A','B','C',])
>>> g.add_path(['X','Y','Z',])
>>> g.edges()
[('A', 'B'), ('B', 'C'), ('Y', 'Z'), ('X', 'Y')]
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

>>> g2 = getSubGraph(g, 'B')
>>> g2.nodes()
['A', 'B', 'C']
>>> g2.edges()
[('A', 'B'), ('B', 'C')]
Run Code Online (Sandbox Code Playgroud)

python networkx

16
推荐指数
2
解决办法
1万
查看次数

如何在有向图中查找子图而不转换为无向图?

我有一个包含许多子图的图。我有一些边在两个方向上连接两个节点,即 A-->B 和 B-->A。双向性很重要,因为它代表我们缺乏关于 A 去 B 还是 B 去 A 的知识,我们没有简单的方法来确定哪个是正确的。

我想知道有多少个子图,并将每个子图中的边输出到 Pandas DataFrame。但是,NetworkX 仅在提供的 connected_components_subgraph(G) 函数中接受无向图。当我将图转换为无向图时,我可以使用 connected_components_subgraph() 来获取每个边中的节点,但是我失去了边的方向性。

有没有一种简单的方法可以完成我想要实现的目标?

python graph networkx

3
推荐指数
1
解决办法
2604
查看次数

标签 统计

networkx ×2

python ×2

graph ×1