从 pandas DataFrame 创建图
先从一个 pandas DataFrame 创建图开始。在本练习中,您将通过遍历边列表(一个 DataFrame 对象)来创建一个新的二分图。
为便于说明,在本次构图过程中,学生节点与论坛节点之间的任意一条边,都表示在整个数据集时间范围内,该学生最后一次在该论坛发帖的那条边。当然,也有办法避免这种简化。
另外,为了缩短运行时间,我们提供了一个下采样版本的边列表,变量名为 data。请在 IPython Shell 中先查看它,以便熟悉其结构。
本练习是课程的一部分
Python 网络分析中级
练习说明
- 实例化一个名为
G的新 Graph。 - 从每个分区添加节点。使用
.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():
____