Bắt đầu ngayBắt đầu miễn phí

Lọc theo thời gian trên cạnh

Giờ bạn sẽ luyện tập lọc đồ thị bằng một điều kiện áp dụng lên các cạnh. Bài này giúp bạn quen tay với list comprehension có kèm điều kiện.

Để hỗ trợ bạn làm bài, hãy nhớ rằng bạn có thể import đối tượng datetime từ module datetime. Trên đồ thị, siêu dữ liệu có khóa date đi kèm giá trị là một đối tượng datetime.

Bài tập này là một phần của khóa học

Phân tích mạng nâng cao với Python

Xem khóa học

Hướng dẫn bài tập

  • Khởi tạo một đồ thị mới tên là G_sub.
  • Thêm các nút từ đồ thị gốc (bao gồm cả siêu dữ liệu của nút) bằng phương thức .add_nodes_from().
  • Thêm các cạnh bằng một list comprehension với một điều kiện trên ngày của cạnh: ngày của cạnh phải sớm hơn 2004-05-16. Để làm điều này:
    • Dùng phương thức .add_edges_from() với một list comprehension làm đối số.
    • Biểu thức đầu ra của list comprehension là (u, v, d). Lặp qua tất cả các cạnh của G và kiểm tra liệu d['date'] nhỏ hơn datetime(2004, 5, 16).

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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['____'] < ____(____,____,____)])
Chỉnh sửa và Chạy Mã