Crea un grafo dal DataFrame di pandas
Iniziamo creando un grafo a partire da un DataFrame di pandas. In questo esercizio creerai un nuovo grafo bipartito iterando sulla lista degli archi (che è un oggetto DataFrame).
Per semplicità, in questa procedura di costruzione del grafo, qualsiasi arco tra uno studente e un nodo forum sarà l’“ultimo” arco (in ordine temporale) in cui uno studente ha scritto su un forum nell’intero intervallo temporale dell’insieme di dati, anche se ci sono modi per evitare questa semplificazione.
Inoltre, per ridurre il tempo di esecuzione dell’esercizio, ti forniamo una versione sottocampionata della lista degli archi come data. Esplorala nella IPython Shell per prenderci confidenza.
Questo esercizio fa parte del corso
Analisi di reti intermedia in Python
Istruzioni dell'esercizio
- Istanzia un nuovo grafo chiamato
G. - Aggiungi i nodi da ciascuna partizione. Usa il metodo
.add_nodes_from()per farlo. Le due partizioni sono'student'e'forum'. Per aggiungere i nodi dalla partizione'student', ad esempio, gli argomenti di.add_nodes_from()sarannodata['student']ebipartite='student'. - Aggiungi ogni arco insieme alla data in cui è stato creato. Per farlo, usa il metodo
.add_edge()all’interno del ciclo, con gli argomentid['student'],d['forum']edate=d['date'].
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
import networkx as nx
# Instantiate a new Graph: G
G = ____
# Add nodes from each of the partitions
____
____
# Add in each edge along with the date the edge was created
for r, d in data.iterrows():
____