ÎncepețiÎncepe gratuit

Vizualizarea conectivității

În acest exercițiu, vei vizualiza cum se schimbă conectivitatea nodurilor cel mai bine conectate de-a lungul timpului. Lista cu cele mai mari valori de conectivitate, top_connected, din exercițiul anterior a fost deja încărcată.

Îți amintești de defaultdict folosit în Capitolul 1? Îl vei folosi din nou aici! Așa cum a menționat Eric în videoclip, defaultdict este de preferat față de un dicționar Python obișnuit, deoarece acesta din urmă ar genera o eroare KeyError dacă încerci să accesezi o cheie care nu există încă în dicționar.

Acest exercițiu folosește bucle for imbricate – adică o buclă for în interiorul altei bucle for.

Acest exercițiu face parte din cursul

Analiză intermediară a rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Inițializează un defaultdict de liste goale numit connectivity.
  • Iterează prin top_connected cu o buclă for, iar în corpul acestei bucle exterioare, iterează din nou prin Gs. În interiorul acestei bucle imbricate:
    • Cheile din connectivity trebuie să fie nodurile n din top_connected, iar valorile trebuie să fie lista scorurilor de conectivitate. Prin urmare, adaugă len(list(G.neighbors(n))) la connectivity[n].
  • Iterează prin connectivity folosind .items() și reprezintă grafic conectivitatea fiecărui nod transmițând conn către plt.plot().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul