IniziaInizia gratis

Lista di grafi

In questo set di esercizi userai un insieme di dati sui messaggi universitari per imparare a filtrare i grafi per l'analisi di serie temporali. In questo dataset, i nodi sono studenti e gli archi indicano l'invio di messaggi da uno studente a un altro. Il grafo, così com'è ora, cattura tutte le comunicazioni in tutti i momenti.

Iniziamo analizzando i grafi in cui cambiano solo gli archi nel tempo.

Il dataset è stato caricato in un DataFrame chiamato data. Sentiti libero di esplorarlo nella IPython Shell. In particolare, dai un'occhiata all'output di data['sender'] e data['recipient'].

Questo esercizio fa parte del corso

Analisi di reti intermedia in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Inizializza una lista vuota chiamata Gs.
  • Usa un ciclo for per iterare su months. All'interno del ciclo:
    • Istanzia un nuovo grafo non orientato chiamato G, usando la funzione nx.Graph().
    • Aggiungi al grafo tutti i nodi che sono mai comparsi. Per farlo, usa due volte il metodo .add_nodes_from() su G, prima con data['sender'] come argomento e poi con data['recipient'].
    • Filtra il DataFrame in modo che contenga solo il mese specificato. Questo è già stato fatto per te.
    • Aggiungi gli archi dal DataFrame filtrato. Per farlo, usa il metodo .add_edges_from() con df_filtered['sender'] e df_filtered['recipient'] passati a zip().
    • Aggiungi G alla lista di grafi Gs.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

import networkx as nx 

months = range(4, 11)

# Initialize an empty list: Gs
Gs = [] 
for month in months:
    # Instantiate a new undirected graph: G
    G = ____
    
    # Add in all nodes that have ever shown up to the graph
    ____
    ____
    
    # Filter the DataFrame so that there's only the given month
    df_filtered = data[data['month'] == month]
    
    # Add edges from filtered DataFrame
    ____
    
    # Append G to the list of graphs
    ____
    
print(len(Gs))
Modifica ed esegui il codice