Filtro de tempo nas arestas
Agora você vai praticar o filtro do grafo usando uma condicional aplicada às arestas. Isso vai ajudar você a ganhar prática e ficar à vontade com list comprehensions que contêm condicionais.
Para ajudar nos exercícios, lembre-se de que você pode importar objetos datetime do módulo datetime. No grafo, os metadados têm a chave date, associada a um objeto datetime como valor.
Este exercício faz parte do curso
Análise de Redes Intermediária em Python
Instruções do exercício
- Instancie um novo grafo chamado
G_sub. - Adicione os nós do grafo original (incluindo os metadados dos nós), usando o método
.add_nodes_from(). - Adicione arestas usando uma list comprehension com uma condicional baseada nas datas das arestas, exigindo que a data da aresta seja anterior a 2004-05-16. Para fazer isso:
- Use o método
.add_edges_from()com uma list comprehension como argumento. - A expressão de saída da list comprehension é
(u, v, d). Itere por todas as arestas deGe verifique sed['date']é menor quedatetime(2004, 5, 16).
- Use o método
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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['____'] < ____(____,____,____)])