Bir grafikte sorgular
Artık grafiğin bazı temel özelliklerini biliyor ve NetworkX'in çizim olanaklarını kullanarak bileşenleri görselleştirmeyi denedin; şimdi de düğüm ve kenarları nasıl sorgulayabileceğini keşfetme zamanı. Özellikle, "ilgi çekici düğümler" ve "ilgi çekici kenarlar" arayacaksın. Bunu yapmak için, videoda Eric'in anlattığı .nodes() ve .edges() yöntemlerinden yararlanacaksın. .nodes() yöntemi bir Düğüm görünümü (Node view) yinelenebiliri döndürür; .edges() yöntemi ise her bir demetin o kenarda bulunan düğümleri gösterdiği bir Kenar görünümü (edge view) yinelenebiliri döndürür. Bu yöntemlere data=True anahtar argümanını geçirmenin, düğüm ve kenarlarla ilişkili ilgili üstveriyi (metadata) da getirdiğini unutma.
Bu sorguları tek satırda etkili biçimde kurmak için liste üreteçleri yazacaksın. Liste üreteçlerine kısa bir tazeleme için DataCamp'in Python Data Science Toolbox kursunun Bölüm 2'sine bakabilirsin. Bir liste üreteci için tarif şöyle:
[ çıktı ifadesi for yineleyici değişken in yinelenebilir if koşul ifadesi ].
Senin doldurman gerekenler _yinelenebilir_ ve _koşul ifadesi_. Çözümünü göndermeden önce IPython Shell'de grafiği keşfederek cevabını prototiplemekten çekinme.
Bu egzersiz, kursun bir parçasıdır
Python ile Ağ Analizine Giriş
Egzersiz talimatları
- Graf
Tiçinden'occupation'etiketi'scientist'olan düğüm listesini bir liste üreteciyle elde et.- Çıktı ifadesi
nile yineleyici değişkenlernvedsenin için verildi. Görevin yinelenebilir ve koşul ifadesi kısımlarını doldurmak. - Düğümlere erişmek için
T'nin.nodes()yöntemini kullan ve düğümler için üstveriyi almak üzeredata=Truebelirttiğinden emin ol. - Yineleyici değişken
dbir sözlüktür. Burada ilgi duyulan anahtar'occupation', ilgi duyulan değer ise'scientist'.
- Çıktı ifadesi
- En az 6 yıldır oluşmuş, yani 1 Ocak 2010'dan önce kurulmuş kenarların listesini bir liste üreteciyle elde et.
- Görevin yine yinelenebilir ve koşul ifadesi kısımlarını doldurmak.
- Kenarlara erişmek için
T'nin.edges()yöntemini kullan. Kenarlar için üstveriyi de aldığından emin ol. - Tarihler, üstveri sözlüğü
diçinde'date'anahtarındadatetime.datenesneleri olarak saklanır. Örneğin 1 Ocak 2009 tarihine erişmek için sözlük değeridate(2009, 1, 1)olur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Use a list comprehension to get the nodes of interest: noi
noi = [n for n, d in ____ if d['____'] == '____']
# Use a list comprehension to get the edges of interest: eoi
eoi = [(u, v) for u, v, d in ____ if ____ < ____]