Subgraphen II
In der vorherigen Übung haben wir dir eine Liste von Knoten gegeben, deren Nachbarn du extrahieren solltest.
Probieren wir noch eine Übung, in der du Knoten mit einer bestimmten Metadateneigenschaft und deren Nachbarn extrahierst. Das knüpft daran an, wie du mit List Comprehensions Knoten finden kannst. Außerdem stärkst du damit deine Fähigkeit, Funktionen zu kombinieren, die du bereits verwendet hast.
Diese Übung ist Teil des Kurses
Einstieg in die Netzwerkanalyse mit Python
Anleitung zur Übung
- Verwende eine List Comprehension, um Knoten zu extrahieren, die die Metadaten
'occupation'als'celebrity'haben, zusammen mit ihren Nachbarn:- Der Ausdruck der List Comprehension ist
n, und es gibt zwei Iteratorvariablen:nundd. Das iterierbare Objekt ist die Knotenliste vonT(inklusive Metadaten, die du mitdata=Trueangeben kannst), und die Bedingung lautet, dass der'occupation'-Schlüssel des Metadaten-Dictionarysdgleich'celebrity'ist.
- Der Ausdruck der List Comprehension ist
- Lege sie in einem neuen Subgraphen namens
T_subab. Gehe dazu so vor:- Iteriere über die Knoten, berechne die Nachbarn jedes Knotens und füge sie mit der Methode
.union()zur Knotenmengénodesethinzu. Dieser letzte Teil wurde bereits für dich erledigt. - Verwende
nodesetzusammen mit der MethodeT.subgraph(), umT_subzu berechnen.
- Iteriere über die Knoten, berechne die Nachbarn jedes Knotens und füge sie mit der Methode
- Zeichne
T_subauf den Bildschirm.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()