간선에 대한 시간 필터
이제 간선에 조건을 적용하여 그래프를 필터링하는 연습을 해 보겠습니다. 조건이 포함된 리스트 내포에 익숙해지도록 도와줄 거예요.
연습에 도움이 되도록, datetime 모듈에서 datetime 객체를 가져와 사용할 수 있다는 점을 기억하세요. 그래프의 메타데이터에는 값으로 datetime 객체가 들어 있는 date 키가 있습니다.
이 연습은 강의의 일부입니다
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['____'] < ____(____,____,____)])