繁体   English   中英

在 Networkx 中获取权重组合边

[英]Get weight combining edges in Networkx

您好,我正在使用 Networkx 和 Python 制作一些图表。

从结构为“源”和“目标”的 a.CSV 中提取边缘后,我得到了如下边缘列表:

 edges = [(a,b), (a,c), (b,c), (a,b), (a,b), (a,c)]

有没有什么方法可以构建(在使用这些边创建 MultiDiGraph 之后)一个有向图,它结合了相等的边,将权重作为相同边的出现次数,结果如下:

 edges = [(a, b, weight = 3), (b, c, weight = 1), (a, c, weight = 2)]

我已经实现了类似的东西,将 csv 转换为列表,然后使用以下代码进行反击:

 reader = csv.reader(open('edges_list.csv', 'r')) next(reader, None) list_edges = list(reader) count = Counter(map(tuple, list_edges)) list= [list(i) for i in count.items()] list= [[k,v,w] for (k,v),w in list]

但我想知道 Networkx 中是否有一些直接的 function 将多向图中的平行边组合为有向图的权重。

粗略搜索了本站的文档相关帖子后,好像.networkx 没有这种功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM