Skapa en graf från en pandas DataFrame
Vi börjar med att skapa en graf från en pandas DataFrame. I den här övningen skapar du en ny bipartit graf genom att iterera över kantlistan, som är ett DataFrame-objekt.
För enkelhetens skull innebär den här grafkonstruktionsmetoden att varje kant mellan en student och en forumnod representerar den sista kanten (i tid) som en student postade till ett forum under hela datamängdens tidsperiod – men det finns sätt att hantera detta annorlunda.
För att förkorta körningstiden har vi dessutom tillhandahållit en nedsamplad version av kantlistan som data. Utforska den i IPython Shell för att bekanta dig med strukturen.
Den här övningen är en del av kursen
Nätverksanalys i Python – fortsättningskurs
Övningsinstruktioner
- Skapa en ny graf och kalla den
G. - Lägg till noder från vardera partitionen. Använd metoden
.add_nodes_from()för detta. De två partitionerna är'student'och'forum'. För att lägga till noder från partitionen'student'är argumenten till.add_nodes_from()exempelvisdata['student']ochbipartite='student'. - Lägg till varje kant tillsammans med det datum då kanten skapades. Använd metoden
.add_edge()inuti loopen med argumentend['student'],d['forum']ochdate=d['date'].
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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():
____