[英]networkx python, directed/undirected graph, inconsistent nodes and edges?
我创建了一个在其上运行pagerank的图形。 我已经测试了有向图和无向图,但是我很难理解我所看到的。
我有下面的代码块:
G= nx.DiGraph() #option 1
#G= nx.Graph() #option 2
[inside a for loop]
G.add_edge(node, another_node)
print("Graph size {} {}".format(len(G.nodes()), len(G.edges())))
[then code to run pagerank...]
如您所见,我同时尝试了有向图(DiGraph)和无向图(Graph)。 对于这两者,我经历相同的循环,即在同一组(节点,another_node)对上多次调用“ add_edge”。
然后,在结果图上打印节点和边的数量。 但是,这是让我感到困惑的路线。 因为对于DiGraph和Graph,我看到了不同的输出:
使用选项1时,有10107个节点和1350222个边。 使用选项2时,有10107个节点和1268064个边。
我知道了解一致性。 这是正常现象还是可能有什么问题?
谢谢
无向图中的边没有方向。 从A到B以及从B到A的边缘被视为重复。 add_edge()
默默地忽略重复项。 这就是为什么您的无向图将具有一个边(A,B)或(B,A),而有向图将具有两个边(A,B)和(B,A)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.