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
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ą:nid. Iterowalnym obiektem jest lista węzłówT(z metadanymi, które możesz uwzględnić, używającdata=True), a wyrażeniem warunkowym jest sprawdzenie, czy klucz'occupation'słownika metadanychdjest równy'celebrity'.
- Wyrażeniem wyjściowym wyrażenia listowego jest
- 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
nodesetwraz z metodąT.subgraph(), aby obliczyćT_sub.
- Iteruj po węzłach, oblicz sąsiadów każdego węzła i dodaj ich do zbioru węzłów
- Narysuj
T_subna 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()