LoslegenKostenlos loslegen

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

Kurs anzeigen

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: n und d. Das iterierbare Objekt ist die Knotenliste von T (inklusive Metadaten, die du mit data=True angeben kannst), und die Bedingung lautet, dass der 'occupation'-Schlüssel des Metadaten-Dictionarys d gleich 'celebrity' ist.
  • Lege sie in einem neuen Subgraphen namens T_sub ab. Gehe dazu so vor:
    • Iteriere über die Knoten, berechne die Nachbarn jedes Knotens und füge sie mit der Methode .union() zur Knotenmengé nodeset hinzu. Dieser letzte Teil wurde bereits für dich erledigt.
    • Verwende nodeset zusammen mit der Methode T.subgraph(), um T_sub zu berechnen.
  • Zeichne T_sub auf 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()
Code bearbeiten und ausführen