Especificando um peso nas arestas
Pesos podem ser adicionados às arestas de um grafo, normalmente indicando a "força" de uma aresta. No NetworkX, o peso é indicado pela chave 'weight' no dicionário de metadados.
Antes de iniciar o exercício, use o IPython Shell para acessar os metadados em dicionário de T e explorá-los, por exemplo, executando os comandos T.edges[1, 10] e depois T.edges[10, 1]. Observe como há apenas um campo e, agora, você vai adicionar outro campo, chamado 'weight'.
Este exercício faz parte do curso
Introdução à Análise de Redes em Python
Instruções do exercício
- Defina o atributo
'weight'da aresta entre os nós1e10deTcomo igual a2. Consulte o seguinte modelo para definir um atributo de uma aresta:network_name.edges[node1, node2]['attribute'] = value. Aqui, o'attribute'é'weight'. - Defina o peso de toda aresta que envolva o nó
293como1.1. Para fazer isso:- Usando um loop
for, itere sobre todas as arestas deT, incluindo osmetadata. - Se
293estiver envolvido na lista de nós[u, v]:- Defina o peso da aresta entre
uevcomo1.1.
- Defina o peso da aresta entre
- Usando um loop
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Set the weight of the edge
____ = 2
# Iterate over all the edges (with metadata)
for u, v, d in ____:
# Check if node 293 is involved
if 293 in ____:
# Set the weight to 1.1
____ = 1.1