Zacznij terazZacznij za darmo

Tworzenie grafu z ramki danych pandas

Zacznijmy od utworzenia grafu na podstawie ramki danych pandas. W tym ćwiczeniu stworzysz nowy graf dwudzielny, iterując po liście krawędzi (obiekt DataFrame).

Dla uproszczenia, w tej procedurze budowania grafu każda krawędź między węzłem studenta a węzłem forum będzie reprezentować „ostatnią" (czasowo) aktywność studenta na danym forum w całym analizowanym przedziale czasowym – choć istnieją sposoby na obejście tego ograniczenia.

Aby skrócić czas wykonania ćwiczenia, udostępniliśmy próbkę listy krawędzi jako data. Przejrzyj ją w powłoce IPython, żeby się z nią zapoznać.

To ćwiczenie jest częścią kursu

Analiza sieci w Pythonie – poziom średniozaawansowany

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz nowy graf i przypisz go do zmiennej G.
  • Dodaj węzły z każdej z partycji, korzystając z metody .add_nodes_from(). Dwie partycje to 'student' i 'forum'. Aby na przykład dodać węzły z partycji 'student', podaj do .add_nodes_from() argumenty data['student'] oraz bipartite='student'.
  • Dodaj każdą krawędź wraz z datą jej utworzenia. W tym celu użyj metody .add_edge() wewnątrz pętli, przekazując argumenty d['student'], d['forum'] oraz date=d['date'].

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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():
    ____ 
Edytuj i uruchom kod