Python igraph:计算加权图中的不同边

Python igraph: Count distinct edges in a weighted graph

我正在使用 python igraph 从输入文件创建加权图。关键是我需要不同边的数量(因为这是一个加权图)。我知道

graph.ecount() 

没有考虑到这一点。我可以读取文件本身并计算不同边的数量,但我想知道 igraph 本身是否具有我可以为 ecount 设置的函数或属性以计算不同边的数量。请注意,我使用以下代码行来创建图表:

graph= Graph.Read_Ncol(file, names=True, weights="if_present", directed=True)

谢谢

我不确定为什么权重在这里很重要 - Graph.Read_Ncol 将简单地将权重存储为边缘属性,g.ecount() 不会考虑它们。这里唯一重要的是 Graph.Read_Ncol 出于某种原因为您创建了一个多重图(在这种情况下,同一对顶点之间可能有多个边)。您可以使用 g.simplify(loops=False) 摆脱多条边(但保留循环边)然后您可以调用 g.ecount().