Przypisywanie wag do krawędzi
Do krawędzi grafu można przypisywać wagi, które zazwyczaj oznaczają „siłę" danego połączenia. W NetworkX wagę reprezentuje klucz 'weight' w słowniku metadanych.
Zanim przejdziesz do ćwiczenia, skorzystaj z powłoki IPython, aby sprawdzić metadane słownika T – na przykład uruchamiając polecenia T.edges[1, 10], a następnie T.edges[10, 1]. Zwróć uwagę, że słownik zawiera tylko jedno pole. Za chwilę dodasz do niego kolejne pole o nazwie 'weight'.
To ćwiczenie jest częścią kursu
Wprowadzenie do analizy sieci w Pythonie
Instrukcje do ćwiczenia
- Ustaw atrybut
'weight'krawędzi między węzłem1a10w grafieTna wartość2. Skorzystaj z poniższego szablonu, aby ustawić atrybut krawędzi:network_name.edges[node1, node2]['attribute'] = value. Tutaj'attribute'to'weight'. - Ustaw wagę każdej krawędzi, w którą zaangażowany jest węzeł
293, na wartość1.1. Aby to zrobić:- Używając pętli
for, iteruj po wszystkich krawędziach grafuT, uwzględniającmetadata. - Jeśli
293znajduje się na liście węzłów[u, v]:- Ustaw wagę krawędzi między
uavna1.1.
- Ustaw wagę krawędzi między
- Używając pętli
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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