Calcule o número de vizinhos de cada nó
Como você avalia se um nó é importante ou não? Existem algumas maneiras de fazer isso e, aqui, você vai analisar uma métrica: o número de vizinhos que um nó tem.
Todo grafo do NetworkX G expõe um método .neighbors(n) que retorna um iterador dos nós que são vizinhos do nó n. Para começar, use esse método no IPython Shell na rede do Twitter T para obter os vizinhos do nó 1. Isso vai ajudar você a se familiarizar com o funcionamento da função. Depois, sua tarefa neste exercício é escrever uma função que retorne todos os nós que têm m vizinhos.
Este exercício faz parte do curso
Introdução à Análise de Redes em Python
Instruções do exercício
- Escreva uma função chamada
nodes_with_m_nbrs()que tenha dois parâmetros —Gem— e retorne todos os nós que têmmvizinhos. Para fazer isso:- Itere por todos os nós em
G(sem incluir os metadados). - Use as funções
len()elist()junto com o método.neighbors()para calcular o total de vizinhos que o nónno grafoGpossui.- Se o número de vizinhos do nó
nfor igual am, adicionenao conjuntonodesusando o método.add().
- Se o número de vizinhos do nó
- Depois de iterar por todos os nós em
G, retorne o conjuntonodes.
- Itere por todos os nós em
- Use sua função
nodes_with_m_nbrs()para recuperar todos os nós que têm 6 vizinhos no grafoT.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Define nodes_with_m_nbrs()
def ____:
"""
Returns all nodes in graph G that have m neighbors.
"""
nodes = set()
# Iterate over all nodes in G
for n in ____:
# Check if the number of neighbors of n matches m
if ____ == ____:
# Add the node n to the set
____
# Return the nodes with m neighbors
return nodes
# Compute and print all nodes in T that have 6 neighbors
six_nbrs = ____
print(____)