Ange vikter på kanter
Det går att lägga till vikter på kanter i en graf, vilket vanligtvis anger "styrkan" hos en kant. I NetworkX anges vikten av nyckeln 'weight' i metadataordboken.
Innan du börjar med övningen kan du använda IPython Shell för att utforska metadatan för T. Prova till exempel att köra kommandona T.edges[1, 10] och sedan T.edges[10, 1]. Notera att det bara finns ett fält – nu ska du lägga till ytterligare ett, kallat 'weight'.
Den här övningen är en del av kursen
Introduktion till nätverksanalys i Python
Övningsinstruktioner
- Sätt
'weight'-attributet för kanten mellan nod1och10iTtill2. Använd följande mall för att sätta ett attribut på en kant:network_name.edges[node1, node2]['attribute'] = value. Här är'attribute'lika med'weight'. - Sätt vikten för varje kant som involverar nod
293till1.1. Gör så här:- Använd en
for-loop och iterera över alla kanter iT, inklusivemetadata. - Om
293ingår i nodlistan[u, v]:- Sätt vikten för kanten mellan
uochvtill1.1.
- Sätt vikten för kanten mellan
- Använd en
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Set the weight of the edge
____ = 2
# Iterate over all the edges (with metadata)
for u, v, d in ____:
# Check if node 293 is involved
if 293 in ____:
# Set the weight to 1.1
____ = 1.1