Subgrafen II
In de vorige oefening gaven we je een lijst met knopen waarvan we je vroegen de buren te bepalen.
Laten we nog een oefening doen waarin je knopen met een bepaalde metadata-eigenschap en hun buren extraheert. Dit sluit aan bij wat je hebt geleerd over list comprehensions om knopen te vinden. De oefening helpt je ook om functies te combineren die je eerder al hebt gebruikt.
Deze oefening maakt deel uit van de cursus
Introductie tot netwerkanalyse in Python
Oefeninstructies
- Gebruik een list comprehension om knopen te extraheren met de metadata
'occupation'als'celebrity'en tegelijkertijd hun buren:- De outputexpressie van de list comprehension is
n, en er zijn twee iteratorvariabelen:nend. De iterable is de lijst met knopen vanT(inclusief de metadata, die je kunt opvragen metdata=True) en de voorwaarde is dat de sleutel'occupation'van de metadatadictionarydgelijk is aan'celebrity'.
- De outputexpressie van de list comprehension is
- Plaats ze in een nieuwe subgraaf
T_sub. Hiervoor:- Itereer over de knopen, bereken de buren van elke knoop en voeg ze toe aan de set knopen
nodesetmet de methode.union(). Dit laatste deel is al voor je gedaan. - Gebruik
nodesetsamen met de methodeT.subgraph()omT_subte berekenen.
- Itereer over de knopen, bereken de buren van elke knoop en voeg ze toe aan de set knopen
- Teken
T_subop het scherm.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()