14

networkx に有向グラフがあります。2 つ以上の出力エッジがあるか、出力エッジがまったくないノードのみを保持したいと考えています。どうすればいいですか?

また

networkx グラフで出力エッジが 1 つだけのノードを削除するにはどうすればよいですか?

4

1 に答える 1

26

メソッドGを使用して、1 つの出力エッジを持つグラフ内のノードを見つけることができます。out_degree

outdeg = G.out_degree()
to_remove = [n for n in outdeg if outdeg[n] == 1]

削除は次のとおりです。

G.remove_nodes_from(to_remove)

既存のグラフをその場で変更するのではなく、新しいグラフを作成する場合は、サブグラフを作成します。

to_keep = [n for n in outdeg if outdeg[n] != 1]
G.subgraph(to_keep)
于 2011-12-20T15:01:33.287 に答える