基于边的时间过滤
现在您将练习对图按边应用条件进行过滤。这样可以帮助您熟悉包含条件的列表推导式,并提高使用的自如度。
在练习中,请记住您可以从 datetime 模块导入 datetime 对象。在该图中,元数据包含一个 date 键,其对应的值是一个 datetime 对象。
本练习是课程的一部分
Python 网络分析中级
练习说明
- 实例化一个名为
G_sub的新图。 - 使用
.add_nodes_from()方法,从原图添加节点(包括节点元数据)。 - 使用带有单个条件的列表推导式添加边,条件是边的日期早于 2004-05-16。具体步骤:
- 使用
.add_edges_from()方法,并将列表推导式作为参数。 - 列表推导式的输出表达式为
(u, v, d)。遍历G的所有边,检查d['date']是否小于datetime(2004, 5, 16)。
- 使用
交互式实操练习
通过完成这段示例代码来试试这个练习。
import networkx as nx
from datetime import datetime
# Instantiate a new graph: G_sub
G_sub = ____
# Add nodes from the original graph
____
# Add edges using a list comprehension with one conditional on the edge dates, that the date of the edge is earlier than 2004-05-16.
G_sub.____([(____, ____, ____) for u, v, d in G.edges(data=True) if d['____'] < ____(____,____,____)])