繁体   English   中英

networkx python,有向/无向图,节点和边不一致?

[英]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.

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