ПочатиПочніть безкоштовно

Підграфи 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()
Редагувати та запускати код