Časový filtr na hranách
Teď si procvičíš filtrování grafu pomocí podmínky aplikované na hrany. Získáš tak jistotu při práci s list comprehensions obsahujícími podmínky.
Mysli na to, že objekty datetime lze importovat z modulu datetime. Na grafu má metadata klíč date, jehož hodnotou je právě objekt datetime.
Toto cvičení je součástí kurzu
Intermediate Network Analysis in Python
Pokyny k cvičení
- Vytvoř nový graf s názvem
G_sub. - Přidej uzly z původního grafu (včetně jejich metadat) pomocí metody
.add_nodes_from(). - Přidej hrany pomocí list comprehension s jednou podmínkou na datum hrany — datum musí být dřívější než 2004-05-16. Postupuj takto:
- Použij metodu
.add_edges_from()s list comprehension jako argumentem. - Výstupní výraz list comprehension je
(u, v, d). Iteruj přes všechny hrany grafuGa ověř, zda jed['date']menší neždatetime(2004, 5, 16).
- Použij metodu
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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['____'] < ____(____,____,____)])