我在NetworkX中有一个图,大致是这样的:
a---b---c---d
|
e---f
我想简化它,删除仅具有2条边的中间节点.
a---b---d
|
f
如何在NetworkX中完成?我只看到删除节点方法或收缩边.但这与节点有关.
解决方法:
可以按照以下步骤完成:
for node in list(G.nodes()):
if G.degree(node) == 2:
edges = list(G.edges(node))
G.add_edge(edges[0][1], edges[1][1])
G.remove_node(node)