Subgrafuri II
În exercițiul anterior, ți-am oferit o listă de noduri ai căror vecini trebuia să îi extragi.
Hai să mai exersăm: de această dată vei extrage nodurile care au o anumită proprietate de metadate, împreună cu vecinii lor. Acesta ar trebui să îți reamintească ce ai învățat despre utilizarea list comprehension-urilor pentru a găsi noduri. Exercițiul îți va consolida și capacitatea de a combina funcții pe care le-ai mai scris anterior.
Acest exercițiu face parte din cursul
Introducere în analiza rețelelor în Python
Instrucțiuni pentru exercițiu
- Folosind un list comprehension, extrage nodurile care au metadatele
'occupation'cu valoarea'celebrity', împreună cu vecinii lor:- Expresia de ieșire a list comprehension-ului este
n, iar cele două variabile iterator sunt:nșid. Iterabilul este lista nodurilor luiT(inclusiv metadatele, pe care le poți specifica folosinddata=True), iar expresia condițională verifică dacă cheia'occupation'din dicționarul de metadatedeste egală cu'celebrity'.
- Expresia de ieșire a list comprehension-ului este
- Plasează-le într-un nou subgraf numit
T_sub. Pentru aceasta:- Iterează peste noduri, calculează vecinii fiecărui nod și adaugă-i la mulțimea de noduri
nodesetfolosind metoda.union(). Această ultimă parte a fost deja rezolvată pentru tine. - Folosește
nodesetîmpreună cu metodaT.subgraph()pentru a calculaT_sub.
- Iterează peste noduri, calculează vecinii fiecărui nod și adaugă-i la mulțimea de noduri
- Afișează
T_subpe ecran.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()