![](/img/trans.png)
[英]How do I add weights to edge labels in a directed graph created using python igraph?
[英]How do I find the number of vertices in a graph created by iGraph in python?
我正在编写一个接收图形作为输入的函数。 我需要做的第一件事是确定图的顺序(即图中的顶点数)。
我的意思是,我可以使用g.summary()
(它返回一个包含顶点数的字符串),但是我会解析字符串以获得顶点的数量 - 而这只是令人讨厌的。
为了得到我正在使用len(g.get_edgelist())
的边数,这是有效的。 但是没有g.get_vertexlist()
,所以我不能使用相同的方法。
当然有一种简单的方法可以做到这一点,不涉及解析字符串。
g.vcount()
是igraph中的一个专用函数,它返回顶点数。 类似地, g.ecount()
返回边数,并且它比len(g.get_edgelist())
更快,因为它不必提前构造完整的边列表。
由于igraph
某些功能已在此期间重命名,因此我发现此处的答案已过时。 文档现在建议的是调用
gorder(g)
这适合我。 ecount
比喻是
gsize(g) # vcount(g) still works, but not g.vcount()
注意帮助页面被巧妙地重定向是很有用的
?vcount
gorder
docs等。
g.vs
应该将顶点序列作为igraph.VertexSeq
对象返回:
>>> from igraph import Graph
>>> g = Graph.Formula("A-B")
>>> g.vs["name"]
['A', 'B']
>>> len(g.vs)
2
>>> g.vcount()
2
编辑:正如@Tamas在下面提到的那样, g.vcount()
也会返回顶点数。 编辑示例以解释此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.