CommencerCommencer 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 permettra de pratiquer et d’être à l’aise avec les compréhensions de listes contenant des conditions.

Pour vous aider dans les exercices, n’oubliez pas que vous pouvez importer des objets datetime depuis le module datetime. Dans le graphe, les métadonnées comportent une clé date associée à un objet datetime en valeur.

Cet exercice fait partie du cours

Analyse de réseaux intermédiaire en Python

Afficher le cours

Instructions

  • Instanciez un nouveau graphe appelé G_sub.
  • Ajoutez les nœuds du graphe d’origine (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 : la date de l’arête doit être 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 cet exemple de code.

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