Aan de slagBegin gratis

Maak een graaf van de pandas DataFrame

Laten we beginnen met het maken van een graaf vanuit een pandas DataFrame. In deze oefening maak je een nieuwe bipartite graaf door over de edgelist (een DataFrame-object) te itereren.

Voor de eenvoud geldt in deze constructiestap dat elke verbinding tussen een student- en een forumnode de 'laatste' verbinding (in de tijd) is waarop een student in de volledige tijdsperiode van de gegevensset op een forum heeft gepost, al zijn daar manieren voor omheen.

Bovendien hebben we, om de uitvoeringstijd te verkorten, een gesubsamplede versie van de edgelist als data meegeleverd. Verken deze in de IPython Shell om er vertrouwd mee te raken.

Deze oefening maakt deel uit van de cursus

Gemiddelde netwerkanalyse in Python

Bekijk cursus

Oefeninstructies

  • Maak een nieuwe graaf met de naam G.
  • Voeg knopen toe uit beide partities. Gebruik hiervoor de methode .add_nodes_from(). De twee partities zijn 'student' en 'forum'. Om bijvoorbeeld knopen uit de 'student'-partitie toe te voegen, zijn de argumenten voor .add_nodes_from() data['student'] en bipartite='student'.
  • Voeg elke verbinding toe, samen met de datum waarop de verbinding is gemaakt. Gebruik hiervoor de methode .add_edge() binnen de lus, met als argumenten d['student'], d['forum'] en date=d['date'].

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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():
    ____ 
Code bewerken en uitvoeren