python – Networkx:将多重图形转换为加权边缘的简单图形

python – Networkx:将多重图形转换为加权边缘的简单图形,第1张

概述我有一个multigraph对象,并希望将其转换为一个简单的图形对象加权边缘.我已经浏览了networkx文档,似乎找不到内置的功能来实现这一点.我只是想知道是否有人知道网络中的内置功能可以实现这一目标.我看着to_directed(),to_undirected()函数,但是它们不服务于我的目标. 这里是通过加权权重来加权多重图形创建加权图的一种方式: import networkx as nx 我有一个multigraph对象,并希望将其转换为一个简单的图形对象加权边缘.我已经浏览了networkx文档,似乎找不到内置的功能来实现这一点.我只是想知道是否有人知道网络中的内置功能可以实现这一目标.我看着to_directed(),to_undirected()函数,但是它们不服务于我的目标.解决方法 这里是通过加权权重来加权多重图形创建加权图的一种方式:
import networkx as nx# weighted MultiGraphM = nx.MultiGraph()M.add_edge(1,2,weight=7)M.add_edge(1,weight=19)M.add_edge(2,3,weight=42)# create weighted graph from MG = nx.Graph()for u,v,data in M.edges_iter(data=True):    w = data['weight'] if 'weight' in data else 1.0    if G.has_edge(u,v):        G[u][v]['weight'] += w    else:        G.add_edge(u,weight=w)print G.edges(data=True)# [(1,{'weight': 26}),(2,{'weight': 42})]
总结

以上是内存溢出为你收集整理的python – Networkx:将多重图形转换为加权边缘的简单图形全部内容,希望文章能够帮你解决python – Networkx:将多重图形转换为加权边缘的简单图形所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1206864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存