IniziaInizia gratis

Filtro temporale sugli archi

Ora metterai in pratica il filtraggio del grafo usando una condizione applicata agli archi. Questo ti aiuterà a fare pratica e a sentirti a tuo agio con le list comprehension che contengono condizioni.

Per aiutarti negli esercizi, ricorda che puoi importare oggetti datetime dal modulo datetime. Nel grafo, i metadati hanno una chiave date associata a un oggetto datetime come valore.

Questo esercizio fa parte del corso

Analisi di reti intermedia in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Istanzia un nuovo grafo chiamato G_sub.
  • Aggiungi i nodi dal grafo originale (inclusi i metadati dei nodi) usando il metodo .add_nodes_from().
  • Aggiungi gli archi usando una list comprehension con una condizione sulle date degli archi, ovvero che la data dell’arco sia precedente al 2004-05-16. Per farlo:
    • Usa il metodo .add_edges_from() con una list comprehension come argomento.
    • L’espressione in output della list comprehension è (u, v, d). Itera su tutti gli archi di G e verifica che d['date'] sia minore di datetime(2004, 5, 16).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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['____'] < ____(____,____,____)])
Modifica ed esegui il codice