Mar*_*dek 2 python graph networkx
我使用in_edgesdoc 中描述的方法将所有传入边获取到有向图中的节点G[myIndex],但实际上for u, v, data in G.in_edges(G[maxIndex], data=True):给了我所有 out_edges。不是我想要的输出。
当我尝试时,G.out_edges它给了我来自所有 out_edges 的所有边缘(就像离所需输出更远的一步)。在将我想要的节点传递给nbunch参数时,我是否遗漏了什么?对我来说这似乎是一个错误,但在那种情况下很容易用谷歌搜索它,所以我认为我错了。
在图像中,可以在右侧看到,边缘 0 的 in_edges 正在发出左侧看到的边缘……也可以看到,in_degree 为 3。
我认为你误解了什么G[maxIndex]。它实际上会给你节点的外边maxIndex,然后从那一堆节点中获取内边。
如果您只是想要给定节点的入边,您可以执行G.in_edges(maxIndex, data=True). 像这样:
G = nx.DiGraph()
G.add_weighted_edges_from([(2, 1, 3.0), (3,1, 5.0), (4, 1, -1.0), (4, 2, 8.0)])
maxIndex = 1 # Here
for u, v, data in G.in_edges(maxIndex, data=True):
print(u,v,data)
Run Code Online (Sandbox Code Playgroud)
输出:
2 1 {'weight': 3.0}
3 1 {'weight': 5.0}
4 1 {'weight': -1.0}
Run Code Online (Sandbox Code Playgroud)