НачатьНачать бесплатно

Визуализация связности

В этом упражнении вы визуализируете, как меняется связность наиболее связанных узлов с течением времени. Список наиболее связанных узлов, top_connected, из предыдущего упражнения уже загружен.

Помните defaultdict, который вы использовали в главе 1? Он снова понадобится вам здесь! Как упоминал Эрик в видео, defaultdict предпочтительнее обычного словаря Python, поскольку обычный словарь выбросит исключение KeyError, если вы попытаетесь обратиться к ключу, которого ещё нет в словаре.

В этом упражнении используются вложенные циклы for: один цикл for располагается внутри другого.

Это упражнение является частью курса

Средний уровень сетевого анализа на Python

Посмотреть курс

Инструкции к упражнению

  • Инициализируйте defaultdict из пустых списков и назовите его connectivity.
  • Выполните итерацию по top_connected с помощью цикла for, а в теле этого внешнего цикла снова выполните итерацию по Gs. Внутри вложенного цикла:
    • Ключами словаря connectivity должны быть узлы n из top_connected, а значениями — списки оценок связности. Для этого добавляйте len(list(G.neighbors(n))) к connectivity[n] с помощью .append().
  • Выполните итерацию по connectivity с помощью .items() и постройте график связности каждого узла, передав conn в plt.plot().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import necessary modules
import matplotlib.pyplot as plt
from collections import defaultdict

# Create a defaultdict in which the keys are nodes and the values are a list of connectivity scores over time
connectivity = ____
for n in ____:
    for g in ____:
        connectivity[____].____(len(____))

# Plot the connectivity for each node
fig = plt.figure() 
for n, conn in ____: 
    plt.plot(____, label=n) 
plt.legend()  
plt.show()
Редактировать и запускать код