微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决向 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 举报,一经查实,本站将立刻删除。