ÎncepețiÎncepe gratuit

Listă de grafuri

În această serie de exerciții, vei folosi un set de date cu mesaje trimise între studenți pentru a învăța cum să filtrezi grafuri în vederea analizei seriilor de timp. În acest set de date, nodurile reprezintă studenți, iar muchiile indică mesajele trimise de la un student la altul. Graful actual captează toate comunicările din toate momentele de timp.

Să începem prin a analiza grafurile în care doar muchiile se modifică în timp.

Setul de date a fost încărcat într-un DataFrame numit data. Explorează-l în IPython Shell. Verifică în special rezultatele returnate de data['sender'] și data['recipient'].

Acest exercițiu face parte din cursul

Analiză intermediară a rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Inițializează o listă goală numită Gs.
  • Folosește o buclă for pentru a itera peste months. În interiorul buclei:
    • Instanțiază un nou graf neorientat numit G, folosind funcția nx.Graph().
    • Adaugă în graf toate nodurile care au apărut vreodată. Pentru aceasta, folosește metoda .add_nodes_from() pe G de două ori: prima dată cu data['sender'] ca argument, apoi cu data['recipient'].
    • Filtrează DataFrame-ul astfel încât să conțină doar luna curentă. Acest pas a fost deja realizat pentru tine.
    • Adaugă muchiile din DataFrame-ul filtrat. Folosește metoda .add_edges_from() cu df_filtered['sender'] și df_filtered['recipient'] transmise în zip().
    • Adaugă G la lista de grafuri Gs.

Exercițiu interactiv practic

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

import networkx as nx 

months = range(4, 11)

# Initialize an empty list: Gs
Gs = [] 
for month in months:
    # Instantiate a new undirected graph: G
    G = ____
    
    # Add in all nodes that have ever shown up to the graph
    ____
    ____
    
    # Filter the DataFrame so that there's only the given month
    df_filtered = data[data['month'] == month]
    
    # Add edges from filtered DataFrame
    ____
    
    # Append G to the list of graphs
    ____
    
print(len(Gs))
Editează și rulează codul