networkx
を使用してノードのリストからグラフを作成しました。自己ループがあります。それらを削除する方法は?以下はサンプルです:
import networkx as NX
G=NX.Graph()
G.add_Edge(1,2)
G.add_Edge(1,1)
print (G.edges())
[(1, 2), (1, 1)]
欲しくない(1, 1)
エッジ。
試してみてください
G.remove_edges_from(G.selfloop_edges())
セルフループメソッドは、バージョン2.0でnetworkx関数を優先して、グラフメソッドとして非推奨になりました。
バージョン1.x:
G.remove_edges_from(G.selfloop_edges())
バージョン2.x:
G.remove_edges_from(nx.selfloop_edges(G))
以前のメソッドは非推奨になります:代わりにnx.selfloop_edges()を使用してください
メソッド remove_Edge
必要なことを行います。エッジのソースと宛先が同じである場合にフィルタリングするだけです。
for u, v in G.edges_iter():
if u == v:
G.remove_Edge(u,v)