Sottografi II
Nel precedente esercizio ti abbiamo dato un elenco di nodi di cui ti abbiamo chiesto di estrarre i vicini.
Proviamo un altro esercizio in cui estrai i nodi che hanno una certa proprietà nei metadati e i loro vicini. Questo dovrebbe richiamare quanto hai imparato sull'uso delle list comprehension per trovare i nodi. L'esercizio ti aiuterà anche a comporre funzioni che hai già utilizzato in precedenza.
Questo esercizio fa parte del corso
Introduzione all'analisi delle reti in Python
Istruzioni dell'esercizio
- Usando una list comprehension, estrai i nodi che hanno il metadato
'occupation'pari a'celebrity'insieme ai loro vicini:- L'espressione di output della list comprehension è
n, e ci sono due variabili iteratore:ned. L'iterabile è la lista dei nodi diT(inclusi i metadati, che puoi specificare condata=True) e l'espressione condizionale verifica se la chiave'occupation'del dizionario dei metadatidè uguale a'celebrity'.
- L'espressione di output della list comprehension è
- Inseriscili in un nuovo sottografo chiamato
T_sub. Per farlo:- Itera sui nodi, calcola i vicini di ciascun nodo e aggiungili all'insieme dei nodi
nodesetusando il metodo.union(). Quest'ultima parte è già stata fatta per te. - Usa
nodesetinsieme al metodoT.subgraph()per calcolareT_sub.
- Itera sui nodi, calcola i vicini di ciascun nodo e aggiungili all'insieme dei nodi
- Disegna
T_subsullo schermo.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()