ПочатиПочніть безкоштовно

Часовий фільтр для ребер

Тепер ви потренуєтеся фільтрувати граф за умовою, застосованою до ребер. Це допоможе вам попрактикуватися та впевнено використовувати спискові включення з умовами.

Памʼятайте, що ви можете імпортувати обʼєкти 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['____'] < ____(____,____,____)])
Редагувати та запускати код