如何重命名 networkx 图的单个节点?
How to rename a single node of a networkx graph?
我想知道如何更改有向图节点的单个节点名称。我是 networkx 的新手,只能找到有关如何更改所有节点名称的答案。
在我的例子中,我迭代图 A 以创建图 B。p
和 c
是图 A 的节点。图 A 的边 (p,c) 包含数据 I想添加到 B 的节点 p
。但是,当我将图 A 的边数据添加到图 B 的现有节点 p
时,我想更新 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')])
我想知道如何更改有向图节点的单个节点名称。我是 networkx 的新手,只能找到有关如何更改所有节点名称的答案。
在我的例子中,我迭代图 A 以创建图 B。p
和 c
是图 A 的节点。图 A 的边 (p,c) 包含数据 I想添加到 B 的节点 p
。但是,当我将图 A 的边数据添加到图 B 的现有节点 p
时,我想更新 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')])