Создание графа из DataFrame pandas
Начнём с создания графа из DataFrame pandas. В этом упражнении вы построите новый двудольный граф, перебирая список рёбер (объект DataFrame).
Для простоты в данной процедуре построения графа любое ребро между узлом студента и узлом форума будет считаться «последним» ребром (по времени) — то есть последним сообщением, которое студент опубликовал на форуме за весь период набора данных. Существуют и другие подходы, но здесь мы ограничимся этим.
Кроме того, чтобы сократить время выполнения упражнения, мы подготовили уменьшенную выборку списка рёбер в виде переменной data. Изучите её в IPython Shell, чтобы разобраться со структурой данных.
Это упражнение является частью курса
Средний уровень сетевого анализа на Python
Инструкции к упражнению
- Создайте новый граф и назовите его
G. - Добавьте узлы из каждого раздела с помощью метода
.add_nodes_from(). Два раздела — это'student'и'forum'. Например, чтобы добавить узлы из раздела'student', передайте в.add_nodes_from()аргументыdata['student']иbipartite='student'. - Добавьте каждое ребро вместе с датой его создания. Для этого вызовите метод
.add_edge()внутри цикла, передав аргументыd['student'],d['forum']иdate=d['date'].
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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():
____