Часовий фільтр для ребер
Тепер ви потренуєтеся фільтрувати граф за умовою, застосованою до ребер. Це допоможе вам попрактикуватися та впевнено використовувати спискові включення з умовами.
Памʼятайте, що ви можете імпортувати обʼєкти datetime з модуля datetime. У графі метадані мають ключ date, якому відповідає значення типу datetime.
Ця вправа є частиною курсу
Середній рівень Network Analysis у Python
Інструкції до вправи
- Створіть новий граф із назвою
G_sub. - Додайте вузли з оригінального графа (разом із метаданими вузлів) за допомогою методу
.add_nodes_from(). - Додайте ребра, використовуючи спискове включення з однією умовою за датою ребра: дата ребра має бути ранішою за 2004-05-16. Для цього:
- Використайте метод
.add_edges_from()зі списковим включенням як аргументом. - Вихідний вираз спискового включення —
(u, v, d). Ітеруйте всі ребраGта перевіряйте, чиd['date']є меншою заdatetime(2004, 5, 16).
- Використайте метод
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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['____'] < ____(____,____,____)])