ComeçarComece de graça

Subgrafos II

No exercício anterior, fornecemos uma lista de nós cujos vizinhos pedimos para você extrair.

Vamos tentar mais um exercício em que você extrai nós que têm uma determinada propriedade de metadados e seus vizinhos. Isso deve relembrar o que você aprendeu sobre usar list comprehensions para encontrar nós. O exercício também vai desenvolver sua capacidade de compor funções que você já escreveu antes.

Este exercício faz parte do curso

Introdução à Análise de Redes em Python

Ver curso

Instruções do exercício

  • Usando uma list comprehension, extraia nós que tenham o metadado 'occupation' como 'celebrity' junto com seus vizinhos:
    • A expressão de saída da list comprehension é n, e há duas variáveis iteradoras: n e d. O iterável é a lista de nós de T (incluindo os metadados, que você pode especificar usando data=True) e a expressão condicional é se a chave 'occupation' do dicionário de metadados d é igual a 'celebrity'.
  • Coloque-os em um novo subgrafo chamado T_sub. Para fazer isso:
    • Faça um loop pelos nós, calcule os vizinhos de cada nó e adicione-os ao conjunto de nós nodeset usando o método .union(). Esta última parte já foi feita para você.
    • Use nodeset junto com o método T.subgraph() para calcular T_sub.
  • Desenhe T_sub na tela.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Extract the nodes of interest: nodes
nodes = [n for n, d in ____ if ____ == ____]

# Create the set of nodes: nodeset
nodeset = set(nodes)

# Iterate over nodes
for n in ____:

    # Compute the neighbors of n: nbrs
    nbrs = ____

    # Compute the union of nodeset and nbrs: nodeset
    nodeset = nodeset.union(nbrs)

# Compute the subgraph using nodeset: T_sub
T_sub = ____

# Draw T_sub to the screen
____
plt.show()
Editar e executar o código