我想知道如何更改有向图节点的单个节点名称。我是 networkx 的新手,只能找到有关如何更改所有节点名称的答案。
在我的例子中,我遍历图 A 来创建图 B。p
和 c
是图 A 的节点。图 A 的边 (p,c) 包含我想添加到节点 p
的数据B. 但是,当我将图 A 中的边数据添加到已经存在的节点时 p
图B,我想更新p
的名称等于c
的名字所以我可以为图 A 的下一条边再次引用它,因为它是边 (c,x) 并且我可以使用 c
再次引用它...
我的代码的相关部分看起来像这样
new_stages = A.in_edge(c, data='stages')
stages = B.node[p]['stages']
stages.append(new_stages)
<<Update node p to have name of c??>>
B.add_node(p, stages=new_stage_set)
任何帮助表示赞赏,谢谢!
最佳答案
您有 nx.relabel_nodes
为了这。这是一个简单的用例:
G = nx.from_edgelist([('a','b'), ('f','g')])
mapping = {'b':'c'}
G = nx.relabel_nodes(G, mapping)
G.edges()
# EdgeView([('a', 'c'), ('f', 'g')])
关于python - 如何重命名networkx图的单个节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64103507/