python - 如何重命名networkx图的单个节点?

标签 python networkx

我想知道如何更改有向图节点的单个节点名称。我是 networkx 的新手,只能找到有关如何更改所有节点名称的答案。
在我的例子中,我遍历图 A 来创建图 B。pc是图 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/

相关文章:

networkx - 用于修剪 NetworkX 图的函数?

python - 绘制 NetworkX Girvan-Newman 算法找到的社区的树状图

python - 如何初始化日期时间 0000-00-00 00 :00:00 in Python?

python - 为方波函数的值创建数组

python - Pandas 计算 str 系列中的频率

python - 如何用 Python 计算网络的 Eb(k)?

python - NetworkX 中的二分图

python - NetworkX:将权重复制到新图,权重是重复的

python - 如何向 NumPy 中的矩阵添加保护环?

python - 将图像 channel 顺序从 channel 第一个更改为最后一个