BaşlayınÜcretsiz başlayın

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ş

Kursa Göz Atın

Egzersiz talimatları

  • Graf T içinden 'occupation' etiketi 'scientist' olan düğüm listesini bir liste üreteciyle elde et.
    • Çıktı ifadesi n ile yineleyici değişkenler n ve d senin 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 üzere data=True belirttiğinden emin ol.
    • Yineleyici değişken d bir sözlüktür. Burada ilgi duyulan anahtar 'occupation', ilgi duyulan değer ise 'scientist'.
  • 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üğü d içinde 'date' anahtarında datetime.date nesneleri olarak saklanır. Örneğin 1 Ocak 2009 tarihine erişmek için sözlük değeri date(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 ____ < ____]
Kodu Düzenle ve Çalıştır