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
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:ned. O iterável é a lista de nós deT(incluindo os metadados, que você pode especificar usandodata=True) e a expressão condicional é se a chave'occupation'do dicionário de metadadosdé igual a'celebrity'.
- A expressão de saída da list comprehension é
- 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
nodesetusando o método.union(). Esta última parte já foi feita para você. - Use
nodesetjunto com o métodoT.subgraph()para calcularT_sub.
- Faça um loop pelos nós, calcule os vizinhos de cada nó e adicione-os ao conjunto de nós
- Desenhe
T_subna 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()