Warning
This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.
relabel_nodes¶
-
relabel_nodes
(G, mapping, copy=True)[source]¶ Relabel the nodes of the graph G.
Parameters: - G (graph) – A NetworkX graph
- mapping (dictionary) – A dictionary with the old labels as keys and new labels as values. A partial mapping is allowed.
- copy (bool (optional, default=True)) – If True return a copy, or if False relabel the nodes in place.
Examples
>>> G=nx.path_graph(3) # nodes 0-1-2 >>> mapping={0:'a',1:'b',2:'c'} >>> H=nx.relabel_nodes(G,mapping) >>> print(sorted(H.nodes())) ['a', 'b', 'c']
>>> G=nx.path_graph(26) # nodes 0..25 >>> mapping=dict(zip(G.nodes(),"abcdefghijklmnopqrstuvwxyz")) >>> H=nx.relabel_nodes(G,mapping) # nodes a..z >>> mapping=dict(zip(G.nodes(),range(1,27))) >>> G1=nx.relabel_nodes(G,mapping) # nodes 1..26
Partial in-place mapping:
>>> G=nx.path_graph(3) # nodes 0-1-2 >>> mapping={0:'a',1:'b'} # 0->'a' and 1->'b' >>> G=nx.relabel_nodes(G,mapping, copy=False)
print(G.nodes()) [2, ‘b’, ‘a’]
Mapping as function:
>>> G=nx.path_graph(3) >>> def mapping(x): ... return x**2 >>> H=nx.relabel_nodes(G,mapping) >>> print(H.nodes()) [0, 1, 4]
Notes
Only the nodes specified in the mapping will be relabeled.
The keyword setting copy=False modifies the graph in place. This is not always possible if the mapping is circular. In that case use copy=True.
See also