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
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()argumentydata['student']orazbipartite='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 argumentyd['student'],d['forum']orazdate=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():
____