基于边的权重从加权无向图中提取连通节点

时间:2013-11-20 01:57:57

标签: python networkx

有没有办法根据一些权重阈值从加权的无向网络x图中提取连接的节点?例如,获得连接节点的列表,其中权重> 0.5。

因此加权无向图基本上就是这样:http://networkx.lanl.gov/reference/generated/networkx.algorithms.components.connected.connected_components.html#networkx.algorithms.components.connected.connected_components

1 个答案:

答案 0 :(得分:0)

您可以运行您提到的连接组件算法。但首先要么只创建一个只包含所需边缘的新图形,要么从原始图形中删除不需要的边缘。例如

In [1]: import networkx as nx

In [2]: G = nx.Graph()

In [3]: G.add_edge(1,2,weight=1)

In [4]: G.add_edge(2,3,weight=0.25)

In [5]: H = nx.Graph([(u,v,d) for (u,v,d) in  G.edges(data=True) if d['weight']>0.5])

In [6]: H.edges()
Out[6]: [(1, 2)]

In [7]: G.remove_edges_from([(u,v,d) for (u,v,d) in  G.edges(data=True) if d['weight']<0.5])

In [8]: G.edges()
Out[8]: [(1, 2)]