ÎncepețiÎncepe gratuit

Filtrare temporală pe muchii

Acum vei exersa filtrarea grafului folosind o condiție aplicată pe muchii. Acest exercițiu te va ajuta să te familiarizezi cu list comprehension-urile care conțin condiții.

Ca ajutor, reține că poți importa obiecte datetime din modulul datetime. Pe graf, metadatele conțin cheia date, asociată cu un obiect datetime ca valoare.

Acest exercițiu face parte din cursul

Analiză intermediară a rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Instanțiază un graf nou numit G_sub.
  • Adaugă nodurile din graful original (inclusiv metadatele lor) folosind metoda .add_nodes_from().
  • Adaugă muchiile folosind un list comprehension cu o condiție pe datele muchiilor: data muchiei trebuie să fie anterioară datei 2004-05-16. Pentru aceasta:
    • Folosește metoda .add_edges_from() cu un list comprehension ca argument.
    • Expresia de ieșire a list comprehension-ului este (u, v, d). Iterează peste toate muchiile lui G și verifică dacă d['date'] este mai mic decât datetime(2004, 5, 16).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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['____'] < ____(____,____,____)])
Editează și rulează codul