繁体   English   中英

如何通过使用边的属性创建子图

[英]How to create a subgraph by using edges' attributes

我知道有一种关于如何使用节点列表创建子图的方法。 但是我想知道是否有一种使用边创建子图的方法。 现在,我创建一个MultiDiGraph。 实际上,当我调用print(G.edges(data = True))时 ,结果如下所示:

[(1, 64, {'agent id': 1875}), (1, 64, {'agent id': 936}), (1, 75, {'agent id': 199}), (1, 75, {'agent id': 496}), (1, 4, {'agent id': 496}), (1, 81, {'agent id': 563}), (1, 459, {'agent id': 496})]

现在,我想为每个“代理ID”创建子图,该怎么办? 非常感谢你!

首先使用列表推导收集所有想要的边缘。 然后创建一个新图并向其中添加这些边。

edges = [(u,v,d) for u,v,d in G.edges(data = True) if d['agent id'] = x]

H = nx.multiDiGraph()
H.add_edges_from(edges)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM