NetworkX に有向グラフがあります。エッジには 0 から 1 の重みが付けられ、エッジが発生する確率を表します。ネットワークの接続性は非常に高いので、ノードごとにエッジを刈り込み、最も確率の高いノードだけが残るようにします。
in_edges
すべてのノードを反復処理して、グラフに最も重み付けされたものだけを保持する方法がわかりません。これを可能にする networkx 関数はありますか?
これが私ができるようにしたいことの例です。
Nodes:
A, B, C, D
Edges:
A->B, weight=1.0
A->C, weight=1.0
A->D, weight=0.5
B->C, weight=0.9
B->D, weight=0.8
C->D, weight=0.9
Final Result Wanted:
A->B, weight=1.0
A->C, weight=1.0
C->D, weight=0.9
ノードに 2 つのエッジがあり、どちらも重みが最も高い場合、両方を保持したいと思います。