Especificar un peso en las aristas
Se pueden añadir pesos a las aristas de un grafo, normalmente para indicar la "fuerza" de una arista. En NetworkX, el peso se indica con la clave 'weight' en el diccionario de metadatos.
Antes de intentar el ejercicio, usa la shell de IPython para acceder al diccionario de metadatos de T y explorarlo; por ejemplo, ejecuta los comandos T.edges[1, 10] y luego T.edges[10, 1]. Observa cómo solo hay un campo, y ahora vas a añadir otro campo llamado 'weight'.
Este ejercicio forma parte del curso
Introducción al análisis de redes en Python
Instrucciones del ejercicio
- Establece el atributo
'weight'de la arista entre los nodos1y10deTigual a2. Puedes usar esta plantilla para establecer un atributo de una arista:network_name.edges[node1, node2]['attribute'] = value. Aquí, el'attribute'es'weight'. - Establece el peso de cada arista que involucre al nodo
293igual a1.1. Para hacerlo:- Con un bucle
for, itera por todas las aristas deT, incluyendo losmetadata. - Si
293está en la lista de nodos[u, v]:- Establece el peso de la arista entre
uyven1.1.
- Establece el peso de la arista entre
- Con un bucle
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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