向 Graph 添加额外的边属性并将 dijkstra 算法中的值与 networkx 相加

问题描述

我有一个包含此列的数据框 df_dist

df_dist = df[['S','D','L','RL']]

其中“S”是初始节点,“D”是目的地。 'L' 是长度,'RL' 是一个属性。因为我需要获得每对节点之间的最小距离(并且它们的数量会因项目而异),所以我用 networkx 创建了一个图,然后使用 Dijkstra 算法来获得最短路径。最后,我获得了一个 df,其中包含每对节点的最小距离矩阵。

G = nx.from_pandas_edgelist(df_dist,'S','L')
djk_dist=dict(nx.all_pairs_dijkstra_path_length(G,weight='L')) 
DJK=pd.DataFrame.from_dict(djk_dist).replace(0,np.nan)

我正在尝试将该列 'RL' 的值合并为图 'G' 边的属性,然后将对应于 Dijkstra 最小路径中边的值求和。所以我想要获得的不仅是最小路径的矩阵,而且是每个最小路径的那些“RL”值的总和。 有谁知道这是否可能?我尝试了一些东西,但到目前为止没有任何效果

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)