ComenzarEmpieza gratis

Subgrafos II

En el ejercicio anterior te dimos una lista de nodos cuyos vecinos te pedimos que extrajeras.

Vamos con un ejercicio más en el que extraes los nodos que tienen una propiedad concreta en sus metadatos y sus vecinos. Esto debería recordarte lo que has aprendido sobre usar list comprehensions para encontrar nodos. El ejercicio también reforzará tu capacidad para componer funciones que ya has usado antes.

Este ejercicio forma parte del curso

Introducción al análisis de redes en Python

Ver curso

Instrucciones del ejercicio

  • Usando una list comprehension, extrae los nodos que tengan el metadato 'occupation' como 'celebrity' junto con sus vecinos:
    • La expresión de salida de la list comprehension es n, y hay dos variables iteradoras: n y d. El iterable es la lista de nodos de T (incluyendo los metadatos, que puedes especificar con data=True) y la expresión condicional es si la clave 'occupation' del diccionario de metadatos d es igual a 'celebrity'.
  • Colócalos en un nuevo subgrafo llamado T_sub. Para ello:
    • Itera sobre los nodos, calcula los vecinos de cada nodo y añádelos al conjunto de nodos nodeset usando el método .union(). Esta última parte ya está hecha por ti.
    • Usa nodeset junto con el método T.subgraph() para calcular T_sub.
  • Dibuja T_sub en pantalla.

Ejercicio interactivo práctico

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

# 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()
Editar y ejecutar código