Підграфи II
У попередній вправі ми надали вам список вузлів і попросили отримати їхніх сусідів.
Спробуймо ще одну вправу: витягніть вузли з певною властивістю метаданих і їхніх сусідів. Це повертає нас до того, як за допомогою спискових включень знаходити вузли. Вправа також допоможе вам навчитися поєднувати функції, які ви вже писали раніше.
Ця вправа є частиною курсу
Вступ до аналізу мереж у Python
Інструкції до вправи
- За допомогою спискового включення отримайте вузли, у яких метадані
'occupation'мають значення'celebrity', разом із їхніми сусідами:- Вираз результату у списковому включенні —
n, а ітеративних змінних дві:nіd. Ітерабельний об'єкт — це список вузлів графаT(разом із метаданими, які можна додати черезdata=True), а умовний вираз — перевірка, чи ключ'occupation'у словнику метаданихdдорівнює'celebrity'.
- Вираз результату у списковому включенні —
- Розмістіть їх у новому підграфі
T_sub. Для цього:- Ітеруйтеся по вузлах, обчисліть сусідів кожного вузла та додайте їх до множини вузлів
nodeset, використавши метод.union(). Останню частину вже зроблено за вас. - Використайте
nodesetразом із методомT.subgraph(), щоб обчислитиT_sub.
- Ітеруйтеся по вузлах, обчисліть сусідів кожного вузла та додайте їх до множини вузлів
- Відобразьте
T_subна екрані.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()