【发布时间】:2020-02-11 10:29:10
【问题描述】:
我有以下带有边缘属性的图表:
import networkx as nx
import random
G=nx.DiGraph()
G.add_edge('x','a', dependency=0.4)
G.add_edge('x','b', dependency=0.6)
G.add_edge('a','c', dependency=1)
G.add_edge('b','c', dependency=0.3)
G.add_edge('b','d', dependency=0.7)
G.add_edge('d','e', dependency=1)
G.add_edge('c','y', dependency=1)
G.add_edge('e','y', dependency=1)
在设置好我的图的结构后,我将采样三个不同的边属性并将它们与一个随机数相乘,如下所示:
for i in range(3):
sampled_edge = random.sample(G.edges, 1)
print(sampled_edge)
sampled_edge_with_random_number = G.edges[sampled_edge[0]]['dependency'] * random.uniform(0,1)
print(sampled_edge_with_random_number)
现在我想用新的采样图属性更新初始图属性,使其看起来像这样。该算法应该在结构中寻找相同的边缘属性并更新依赖值:
for i in G.edges:
if i == sampled_edge:
i['dependency'] = sampled_edge_with_random_number
有人可以帮我解决这个问题吗?
【问题讨论】: