Sous-graphes II
Dans l’exercice précédent, nous vous avons donné une liste de nœuds dont nous vous avions demandé d’extraire les voisins.
Essayons un exercice de plus : vous allez extraire des nœuds possédant une propriété de métadonnées particulière ainsi que leurs voisins. Cela fait écho à ce que vous avez appris sur les compréhensions de liste pour trouver des nœuds. L’exercice vous aidera aussi à composer des fonctions que vous avez déjà écrites.
Cet exercice fait partie du cours
Introduction à l’analyse de réseaux en Python
Instructions
- À l’aide d’une compréhension de liste, extrayez les nœuds dont la métadonnée
'occupation'vaut'celebrity', ainsi que leurs voisins :- L’expression de sortie de la compréhension est
n, et il y a deux variables d’itération :netd. L’itérable est la liste des nœuds deT(y compris les métadonnées, que vous pouvez obtenir avecdata=True) et l’expression conditionnelle vérifie si la clé'occupation'du dictionnaire de métadonnéesdest égale à'celebrity'.
- L’expression de sortie de la compréhension est
- Placez-les dans un nouveau sous-graphe nommé
T_sub. Pour cela :- Itérez sur les nœuds, calculez les voisins de chaque nœud et ajoutez-les à l’ensemble de nœuds
nodeseten utilisant la méthode.union(). Cette dernière partie a été faite pour vous. - Utilisez
nodesetavec la méthodeT.subgraph()pour calculerT_sub.
- Itérez sur les nœuds, calculez les voisins de chaque nœud et ajoutez-les à l’ensemble de nœuds
- Affichez
T_subà l’écran.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()