CommencezCommencez gratuitement

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

Voir le cours

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 de G et vérifiez si d['date'] est inférieure à datetime(2004, 5, 16).

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['____'] < ____(____,____,____)])
Modifier et exécuter le code