Filtre temporel sur les arêtes
Vous allez maintenant vous exercer à filtrer le graphe à l'aide d'une condition appliquée aux arêtes. Cela vous aidera à vous familiariser avec les compréhensions de liste qui contiennent des conditions.
Pour vous aider dans les exercices, rappelez-vous que vous pouvez importer des objets datetime du module datetime. Dans le graphe, les métadonnées ont une clé date associée à un objet datetime comme valeur.
Cette activité fait partie du cours
Analyse de réseaux intermédiaire en Python
Instructions de l’exercice
- Instanciez un nouveau graphe nommé
G_sub. - Ajoutez les nœuds du graphe original (y compris les métadonnées des nœuds) en utilisant la méthode
.add_nodes_from(). - Ajoutez les arêtes à l'aide d'une compréhension de liste avec une condition sur les dates des arêtes, à savoir que la date de l'arête est antérieure au 2004-05-16. Pour ce faire :
- Utilisez la méthode
.add_edges_from()avec une compréhension de liste comme argument. - L'expression de sortie de la compréhension de liste est
(u, v, d). Itérez sur toutes les arêtes deGet vérifiez sid['date']est inférieure àdatetime(2004, 5, 16).
- Utilisez la méthode
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
import networkx as nx
from datetime import datetime
# Instantiate a new graph: G_sub
G_sub = ____
# Add nodes from the original graph
____
# Add edges using a list comprehension with one conditional on the edge dates, that the date of the edge is earlier than 2004-05-16.
G_sub.____([(____, ____, ____) for u, v, d in G.edges(data=True) if d['____'] < ____(____,____,____)])