Zacznij terazZacznij za darmo

Podgrafy II

W poprzednim ćwiczeniu udostępniliśmy ci listę węzłów, których sąsiadów miałeś wyodrębnić.

Spróbujmy jeszcze jednego ćwiczenia, w którym wyodrębnisz węzły o określonej właściwości w metadanych oraz ich sąsiadów. Nawiązuje to do tego, czego nauczyłeś się o używaniu wyrażeń listowych do wyszukiwania węzłów. Ćwiczenie pozwoli ci też lepiej opanować łączenie funkcji, które już wcześniej pisałeś.

To ćwiczenie jest częścią kursu

Wprowadzenie do analizy sieci w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Używając wyrażenia listowego, wyodrębnij węzły, które mają metadane 'occupation' o wartości 'celebrity', wraz z ich sąsiadami:
    • Wyrażeniem wyjściowym wyrażenia listowego jest n, a zmiennymi iteratora są: n i d. Iterowalnym obiektem jest lista węzłów T (z metadanymi, które możesz uwzględnić, używając data=True), a wyrażeniem warunkowym jest sprawdzenie, czy klucz 'occupation' słownika metadanych d jest równy 'celebrity'.
  • Umieść je w nowym podgrafie o nazwie T_sub. Aby to zrobić:
    • Iteruj po węzłach, oblicz sąsiadów każdego węzła i dodaj ich do zbioru węzłów nodeset, używając metody .union(). Ta ostatnia część jest już za ciebie zrobiona.
    • Użyj nodeset wraz z metodą T.subgraph(), aby obliczyć T_sub.
  • Narysuj T_sub na ekranie.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod