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
Instruksi latihan
- Inisialisasi list kosong bernama
Gs. - Gunakan loop
foruntuk mengiterasimonths. Di dalam loop:- Buat graf tak berarah baru bernama
Gmenggunakan fungsinx.Graph(). - Tambahkan semua simpul yang pernah muncul ke dalam graf. Untuk melakukannya, gunakan metode
.add_nodes_from()padaGdua kali, pertama dengandata['sender']sebagai argumen, lalu dengandata['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()dengandf_filtered['sender']dandf_filtered['recipient']yang dimasukkan ke dalamzip(). - Tambahkan
Gke list grafGs.
- Buat graf tak berarah baru bernama
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))