BaşlayınÜcretsiz başlayın

Kenarlar üzerinde zaman filtresi

Şimdi, kenarlara uygulanan bir koşul kullanarak grafiği filtrelemeyi pratik yapacaksın. Bu, koşullu ifadeler içeren liste üreteçleriyle alıştırma yapmana ve onlara alışmana yardımcı olacak.

Egzersizlerde sana yardımcı olması için, datetime nesnelerini datetime modülünden içe aktarabileceğini unutma. Grafikte, üst verilerde değer olarak bir datetime nesnesiyle eşleştirilmiş bir date anahtarı bulunur.

Bu egzersiz, kursun bir parçasıdır

Python ile Orta Düzey Ağ (Network) Analizi

Kursa Göz Atın

Egzersiz talimatları

  • G_sub adlı yeni bir grafik oluştur.
  • .add_nodes_from() yöntemini kullanarak orijinal grafikten (düğüm üst verileri dahil) düğümleri ekle.
  • Kenarları, kenar tarihleri üzerine tek bir koşul içeren bir liste üreteci ile ekle; kenarın tarihi 2004-05-16'dan önce olmalı. Bunu yapmak için:
    • Bağımsız değişken olarak bir liste üreteci ile .add_edges_from() yöntemini kullan.
    • Liste üretecinin çıktı ifadesi (u, v, d) olmalı. G'nin tüm kenarları üzerinde yineleme yap ve d['date'] değerinin datetime(2004, 5, 16)'dan küçük olup olmadığını kontrol et.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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['____'] < ____(____,____,____)])
Kodu Düzenle ve Çalıştır