Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Sätt 'weight'-attributet för kanten mellan nod 1 och 10 i T till 2. 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 293 till 1.1. Gör så här:
    • Använd en for-loop och iterera över alla kanter i T, inklusive metadata.
    • Om 293 ingår i nodlistan [u, v]:
      • Sätt vikten för kanten mellan u och v till 1.1.

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
Redigera och kör kod