Mulai sekarangMulai gratis

Daftar graf

Dalam rangkaian latihan ini, Anda akan menggunakan himpunan data pesan di perguruan tinggi untuk mempelajari cara memfilter graf untuk analisis deret waktu. Dalam himpunan data ini, simpul adalah mahasiswa, dan sisi merepresentasikan pesan yang dikirim dari satu mahasiswa ke mahasiswa lain. Graf saat ini menangkap seluruh komunikasi pada semua titik waktu.

Mari mulai dengan menganalisis graf yang hanya sisinya yang berubah seiring waktu.

Himpunan data telah dimuat ke dalam sebuah DataFrame bernama data. Silakan jelajahi di IPython Shell. Secara khusus, periksa keluaran dari data['sender'] dan data['recipient'].

Latihan ini merupakan bagian dari kursus

Analisis Jaringan Menengah di Python

Lihat Kursus

Instruksi latihan

  • Inisialisasi list kosong bernama Gs.
  • Gunakan loop for untuk mengiterasi months. Di dalam loop:
    • Buat graf tak berarah baru bernama G menggunakan fungsi nx.Graph().
    • Tambahkan semua simpul yang pernah muncul ke dalam graf. Untuk melakukannya, gunakan metode .add_nodes_from() pada G dua kali, pertama dengan data['sender'] sebagai argumen, lalu dengan data['recipient'].
    • Filter DataFrame agar hanya berisi bulan yang diberikan. Bagian ini sudah dilakukan untuk Anda.
    • Tambahkan sisi dari DataFrame yang sudah difilter. Untuk melakukannya, gunakan metode .add_edges_from() dengan df_filtered['sender'] dan df_filtered['recipient'] yang dimasukkan ke dalam zip().
    • Tambahkan G ke list graf Gs.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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))
Edit dan Jalankan Kode