ÎncepețiÎncepe gratuit

Reprezentarea grafică a numărului de postări în timp

Să recapitulăm cum poți reprezenta grafic statistici ale unui graf care evoluează în timp. Mai întâi, vei folosi datele grafului pentru a cuantifica numărul de muchii care apar într-o fereastră de timp de td zile – în exercițiul de mai jos, aceasta este de 2 zile.

Variabilele datetime dayone și lastday sunt deja definite pentru tine.

Acest exercițiu face parte din cursul

Analiză intermediară a rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește un timedelta de 2 zile folosind funcția timedelta() și specificând un argument pentru parametrul days.
  • În interiorul buclei while:
    • Filtrează muchiile astfel încât să se afle în fereastra de timp glisantă. Folosește o comprehensiune de listă în care expresia de ieșire este (u, v, d), iterabilul este G.edges(data=True) și există două condiții: d['date'] este >= curr_day și < decât curr_day + td.
    • Adaugă numărul de muchii (folosește funcția len() pentru a-l calcula) la n_posts.
    • Incrementează curr_day cu timedelta td.
  • Realizează un grafic al n_posts folosind plt.plot().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()  
Editează și rulează codul