Створення графа з pandas DataFrame
Почнімо зі створення графа з pandas DataFrame. У цій вправі ви створите новий біпартитний граф, ітеруючись за списком ребер (це об'єкт DataFrame).
Для спрощення в цій процедурі побудови графа будь-яке ребро між студентом і вузлом форуму буде «останнім» ребром (у часі), яке студент залишив у форумі за весь період набору даних, хоча існують способи це обійти.
Крім того, щоб скоротити час виконання вправи, ми надали підвибірку списку ребер як data. Ознайомтеся з нею в оболонці IPython, щоб краще зрозуміти структуру.
Ця вправа є частиною курсу
Середній рівень Network Analysis у 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():
____