Začněte nyníZačněte zdarma

Č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

Zobrazit kurz

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 grafu G a ověř, zda je d['date'] menší než datetime(2004, 5, 16).

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['____'] < ____(____,____,____)])
Upravit a spustit kód