Zacznij terazZacznij za darmo

Filtrowanie krawędzi według czasu

Przećwiczysz teraz filtrowanie grafu za pomocą warunku zastosowanego do krawędzi. Pomoże ci to nabrać wprawy w tworzeniu wyrażeń listowych z warunkami.

Pamiętaj, że obiekty datetime możesz importować z modułu datetime. W grafie metadane zawierają klucz date, którego wartością jest obiekt datetime.

To ćwiczenie jest częścią kursu

Analiza sieci w Pythonie – poziom średniozaawansowany

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz nowy graf o nazwie G_sub.
  • Dodaj węzły z oryginalnego grafu (wraz z ich metadanymi), używając metody .add_nodes_from().
  • Dodaj krawędzie za pomocą wyrażenia listowego z jednym warunkiem dotyczącym dat krawędzi – data krawędzi musi być wcześniejsza niż 2004-05-16. W tym celu:
    • Użyj metody .add_edges_from() z wyrażeniem listowym jako argumentem.
    • Wyrażenie wyjściowe wyrażenia listowego to (u, v, d). Iteruj po wszystkich krawędziach grafu G i sprawdzaj, czy d['date'] jest mniejsze niż datetime(2004, 5, 16).

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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['____'] < ____(____,____,____)])
Edytuj i uruchom kod