我在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
如果一个节点中有两条边,并且它们都是最大的权重,我希望保留这两条边。
以下是一些想法:
我得到的解决办法是受阿里克的启发。我使用了以下代码:
相关问题 更多 >
编程相关推荐