Attribute basics
How to store and access node attributes using NetworkX in Python?
You can add attributes when adding the nodes to the graph:
G.add_node('Person', name='Anna', year_of_birth='1990')
Attributes can also be added as a dictionary:
G.add_node('Person', {'name': 'Anna', 'year_of_birth': 1990})
You can access the attributes just as you would access any dictionary in Python:
G.node['Person']['name']
G.node['Person']['year_of_birth']
How to access and change attributes of connected nodes?
We can use the G.edges()
function to get all the edges of a graph and iterate over them.
We need to set data=True
to access the attributes.
for n1, n2 in list(G.edges(data=True)):
print(G.node[n1]['name'], G.node[n2]['name'])
print(G.node[n1]['year_of_birth'], G.node[n2]['year_of_birth'])