MulaiMulai sekarang secara gratis

Kueri pada graf

Setelah Anda mengenal beberapa properti dasar dari graf dan berlatih menggunakan fasilitas gambar NetworkX untuk memvisualisasikan komponennya, kini saatnya mengeksplorasi cara melakukan kueri terhadap simpul dan sisi. Secara khusus, Anda akan mencari "nodes of interest" dan "edges of interest". Untuk itu, Anda akan menggunakan metode .nodes() dan .edges() yang telah dibahas Eric dalam video. Metode .nodes() mengembalikan Node view yang dapat diiterasi, sedangkan metode .edges() mengembalikan edge view yang dapat diiterasi, di mana setiap tuple menunjukkan simpul-simpul yang ada pada sisi tersebut. Ingat bahwa menyertakan argumen kata kunci data=True pada metode-metode ini juga mengambil metadata terkait dengan simpul dan sisi.

Anda akan menulis pemahaman daftar (list comprehension) untuk menyusun kueri ini secara ringkas dalam satu baris. Untuk penyegaran tentang pemahaman daftar, lihat Bagian 2 dari kursus Python Data Science Toolbox di DataCamp. Berikut resep sebuah pemahaman daftar:

[ output expression for iterator variable in iterable if predicate expression ].

Anda perlu mengisi bagian _iterable_ dan _predicate expression_. Silakan membuat prototipe jawaban dengan mengeksplorasi graf di IPython Shell sebelum mengirimkan solusi Anda.

Latihan ini adalah bagian dari kursus

Pengantar Analisis Jaringan di Python

Lihat Kursus

Petunjuk latihan

  • Gunakan pemahaman daftar untuk memperoleh daftar simpul (nodes) dari graf T yang memiliki label 'occupation' bernilai 'scientist'.
    • Output expression n telah disediakan, bersama iterator variables n dan d. Tugas Anda adalah melengkapi bagian iterable dan conditional expression.
    • Gunakan metode .nodes() dari T untuk mengakses simpulnya, dan pastikan menyertakan data=True untuk memperoleh metadata simpul.
    • Variabel iterator d adalah sebuah kamus (dictionary). Kunci yang relevan di sini adalah 'occupation' dan nilai yang dicari adalah 'scientist'.
  • Gunakan pemahaman daftar untuk memperoleh daftar sisi (edges) dari graf T yang telah terbentuk setidaknya selama 6 tahun, yaitu sebelum 1 Jan 2010.
    • Sekali lagi, tugas Anda adalah melengkapi bagian iterable dan conditional expression.
    • Gunakan metode .edges() dari T untuk mengakses sisinya. Pastikan juga untuk memperoleh metadata sisi.
    • Tanggal disimpan sebagai objek datetime.date di kamus metadata d, dengan kunci 'date'. Untuk mengakses tanggal 1 Jan 2009, misalnya, nilai kamusnya adalah date(2009, 1, 1).

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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 ____ < ____]
Edit dan Jalankan Kode