开始使用免费开始使用

基于边的时间过滤

现在您将练习对图按边应用条件进行过滤。这样可以帮助您熟悉包含条件的列表推导式,并提高使用的自如度。

在练习中,请记住您可以从 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['____'] < ____(____,____,____)])
编辑并运行代码