Sous-graphes II
Dans l'exercice précédent, nous vous avons fourni une liste de nœuds dont nous vous avons demandé d'extraire les voisins.
Faisons un autre exercice où vous extrayez des nœuds possédant une propriété de métadonnées particulière ainsi que leurs voisins. Cela devrait vous rappeler ce que vous avez appris sur l'utilisation des compréhensions de liste pour trouver des nœuds. L'exercice renforcera aussi votre capacité à composer des fonctions que vous avez déjà écrites.
Cette activité fait partie du cours
Introduction à l'analyse des réseaux en Python
Instructions de l’exercice
- À 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 appelé
T_sub. Pour ce faire :- Parcourez les nœuds, calculez les voisins de chaque nœud, puis 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.
- Parcourez les nœuds, calculez les voisins de chaque nœud, puis ajoutez-les à l'ensemble de nœuds
- Affichez
T_subà l'écran.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()