Graf listesi
Bu egzersiz setinde, zaman serisi analizi için grafikleri filtrelemeyi öğrenmek üzere bir üniversite mesajlaşma veri kümesini kullanacaksın. Bu veri kümesinde düğümler öğrencileri, kenarlar ise bir öğrenciden diğerine gönderilen mesajları ifade eder. Şu anki graf, tüm zaman noktalarındaki tüm iletişimleri kapsıyor.
Hadi, yalnızca kenarların zamanla değiştiği grafikleri analiz ederek başlayalım.
Veri kümesi data adlı bir DataFrame'e yüklendi. IPython Shell'de keşfetmekten çekinme. Özellikle data['sender'] ve data['recipient'] çıktısına bir göz at.
Bu egzersiz
Python ile Orta Düzey Ağ (Network) Analizi
kursunun bir parçasıdırEgzersiz talimatları
Gsadlı boş bir liste başlat.monthsüzerinde yineleme yapmak için birfordöngüsü kullan. Döngü içinde:nx.Graph()fonksiyonunu kullanarakGadlı yeni bir yönsüz graf oluştur.- Grafiğe bugüne kadar görülen tüm düğümleri ekle. Bunu yapmak için
Güzerinde.add_nodes_from()yöntemini iki kez kullan: öncedata['sender'], sonradata['recipient']argümanıyla. - DataFrame'i yalnızca verilen ay kalacak şekilde filtrele. Bu senin için yapıldı.
- Filtrelenmiş DataFrame'den kenarları ekle. Bunu yapmak için
.add_edges_from()yöntemini,zip()içine geçirilmişdf_filtered['sender']vedf_filtered['recipient']ile kullan. G'yi grafikler listesiGs'ye ekle.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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))