私はnetworkxでDirected Graphを持っています。私は、2つ以上の発信エッジを持つか、または発信エッジを全く持たないノードだけを保持したいと考えています。これはどうすればいいですか?ノードをnetworkx-graphに2つ以上の発信エッジまたは0発信エッジで維持する方法はありますか。
または
どのように私はnetworkxグラフで正確に一つの発信エッジを持つノードを削除します。
私はnetworkxでDirected Graphを持っています。私は、2つ以上の発信エッジを持つか、または発信エッジを全く持たないノードだけを保持したいと考えています。これはどうすればいいですか?ノードをnetworkx-graphに2つ以上の発信エッジまたは0発信エッジで維持する方法はありますか。
または
どのように私はnetworkxグラフで正確に一つの発信エッジを持つノードを削除します。
あなたはout_degree
メソッドを使用して1つの出力エッジを持つグラフG
内のノードを見つけることができます。
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)
これらのノードを削除した後、アウトディグリーが変更されるかどうか – user3341953
アートをグラフで表示し、1つのアウトエッジを持つノードを見つけて削除すると、1つのアウトエッジを持つノードがまだ存在する新しいグラフを作成できます。その場合、あなたは何をしたいですか? – DSM