ComenzarEmpieza gratis

Visualizar la conectividad

Aquí vas a visualizar cómo cambia con el tiempo la conectividad de los nodos más conectados. La lista de valores más conectados, top_connected, del ejercicio anterior ya se ha cargado.

¿Recuerdas el defaultdict que usaste en el Capítulo 1? ¡Vas a usar otro defaultdict en este ejercicio! Como mencionó Eric en el vídeo, aquí se prefiere un defaultdict porque un diccionario normal de Python lanzaría un KeyError si intentas obtener un elemento con una clave que no está en el diccionario.

Este ejercicio utiliza bucles for anidados. Es decir, usarás un bucle for dentro de otro.

Este ejercicio forma parte del curso

Análisis de redes intermedio en Python

Ver curso

Instrucciones del ejercicio

  • Inicializa un defaultdict de listas vacías llamado connectivity.
  • Recorre top_connected usando un bucle for y, en el cuerpo de este for externo, recorre de nuevo Gs. Dentro de este bucle anidado:
    • Las claves de connectivity deben ser los nodos n en top_connected, y los valores deben ser la lista de puntuaciones de conectividad. Por lo tanto, tienes que añadir len(list(G.neighbors(n))) a connectivity[n].
  • Recorre connectivity usando .items() y representa la conectividad de cada nodo pasando conn a plt.plot().

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Import necessary modules
import matplotlib.pyplot as plt
from collections import defaultdict

# Create a defaultdict in which the keys are nodes and the values are a list of connectivity scores over time
connectivity = ____
for n in ____:
    for g in ____:
        connectivity[____].____(len(____))

# Plot the connectivity for each node
fig = plt.figure() 
for n, conn in ____: 
    plt.plot(____, label=n) 
plt.legend()  
plt.show()
Editar y ejecutar código