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

Zaman içinde yapılan gönderi sayısını görselleştir

Hadi, grafik verilerinden değişen grafik istatistiklerini nasıl çizebileceğini kısaca tekrar edelim. Önce, td günlük (aşağıdaki egzersizde 2 gün) parça penceresi içinde görünen kenarların sayısını hesaplamak için grafik verisini kullanacaksın.

dayone ve lastday adlı datetime değişkenleri senin için sağlandı.

Bu egzersiz

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

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • timedelta() fonksiyonunu kullanarak days parametresi için bir argüman belirterek 2 günlük bir time delta tanımla.
  • while döngüsünün içinde:
    • Kenarları, kayan zaman penceresi içinde kalacak şekilde filtrele. Bunu bir liste üreteciyle yap: çıktı ifadesi (u, v, d), yinelenen yapı G.edges(data=True) olacak ve iki koşul bulunacak: d['date'] >= curr_day ve curr_day + td değerinden < olmalı.
    • Kenar sayısını (hesaplamak için len() fonksiyonunu kullan) n_posts listesine ekle.
    • curr_day değerini td zaman farkı kadar artır.
  • plt.plot() kullanarak n_posts için bir grafik çiz.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Import necessary modules
from datetime import timedelta  
import matplotlib.pyplot as plt

# Define current day and timedelta of 2 days
curr_day = dayone
td = ____

# Initialize an empty list of posts by day
n_posts = []
while curr_day < lastday:
    if curr_day.day == 1:
        print(curr_day) 
    # Filter edges such that they are within the sliding time window: edges
    edges = [(____, ____, ____) for u, v, d in ____ if d['date'] >= ____ and d['date'] < ____ + ____]
    
    # Append number of edges to the n_posts list
    ____
    
    # Increment the curr_day by the time delta
    ____ += ____
    
# Create the plot
plt.plot(____)  
plt.xlabel('Days elapsed')
plt.ylabel('Number of posts')
plt.show()  
Kodu Düzenle ve Çalıştır