ComeçarComece de graça

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

Ver curso

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 de G e verifique se d['date'] é menor que datetime(2004, 5, 16).

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['____'] < ____(____,____,____)])
Editar e executar o código