Spécifier une pondération sur les arêtes
On peut ajouter des poids aux arêtes d'un graphe pour indiquer, en général, la « force » d'une arête. Dans NetworkX, le poids est indiqué par la clé 'weight' dans le dictionnaire de métadonnées.
Avant de commencer l'exercice, utilisez le shell IPython pour consulter le dictionnaire de métadonnées de T et l'explorer, par exemple en exécutant les commandes T.edges[1, 10] puis T.edges[10, 1]. Remarquez qu'il n'y a qu'un seul champ, et vous allez maintenant en ajouter un autre, appelé 'weight'.
Cette activité fait partie du cours
Introduction à l'analyse des réseaux en Python
Instructions de l’exercice
- Définissez l'attribut
'weight'de l'arête entre les nœuds1et10deTà2. Référez-vous au modèle suivant pour définir un attribut d'une arête :network_name.edges[node1, node2]['attribute'] = value. Ici, l''attribute'est'weight'. - Définissez le poids de chaque arête impliquant le nœud
293à1.1. Pour ce faire :- À l'aide d'une boucle
for, itérez sur toutes les arêtes deT, en incluant lesmetadata. - Si
293fait partie de la liste des nœuds[u, v]:- Définissez le poids de l'arête entre
uetvà1.1.
- Définissez le poids de l'arête entre
- À l'aide d'une boucle
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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