CommencezCommencez gratuitement

Tracer le nombre de publications au fil du temps

Récapitulons comment tracer l'évolution de statistiques de graphe à partir des données du graphe. D'abord, vous utiliserez les données du graphe pour quantifier le nombre d'arêtes qui apparaissent dans une fenêtre temporelle de regroupement de td jours, soit 2 jours dans l'exercice ci-dessous.

Les variables datetime dayone et lastday vous sont fournies.

Cette activité fait partie du cours

Analyse de réseaux intermédiaire en Python

Voir le cours

Instructions de l’exercice

  • Définissez un délai (timedelta) de 2 jours en utilisant la fonction timedelta() et en précisant un argument pour le paramètre days.
  • À l'intérieur de la boucle while :
    • Filtrez les arêtes de sorte qu'elles se trouvent dans la fenêtre temporelle glissante. Utilisez pour cela une compréhension de liste, où l'expression de sortie est (u, v, d), l'itérable est G.edges(data=True), et il y a deux conditions : si d['date'] est >= à curr_day et < que curr_day + td.
    • Ajoutez le nombre d'arêtes (utilisez la fonction len() pour vous aider à le calculer) à n_posts.
    • Incrémentez curr_day du délai td.
  • Créez un graphique de n_posts avec plt.plot().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()  
Modifier et exécuter le code