Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Kualitas Data dan Validasi Pipeline

Pelajaran 12 dari 14

Pemeriksaan otomatis di Python

Aturan sebagai fungsi yang mengembalikan baris bermasalah

Setelah pelajaran ini kamu bisa menulis fungsi pandas yang mengembalikan id baris dengan kolom wajib kosong atau kunci ganda, dengan aturan NaN yang eksplisit.

±13 menitDiperiksa 7 Okt 2026

Materi

Kueri yang dijalankan sekali menjawab pertanyaan hari ini; pemeriksaan kualitas harus bisa diulang setiap kali datanya berubah. Di Python bentuknya fungsi: menerima DataFrame, mengembalikan daftar id baris yang melanggar. Daftar itu bisa dihitung, diserahkan ke pemilik data, atau dibandingkan dengan hasil jalan sebelumnya.

Pernyataan assert tidak cocok untuk tugas ini. Dokumentasi Python menyebutnya cara menyisipkan pemeriksaan debugging, dan kode assert sama sekali tidak dijalankan bila Python berjalan dengan optimasi -O. Assert juga berhenti di pelanggaran pertama, padahal audit butuh seluruh daftarnya. Pakai assert untuk menguji fungsi pemeriksamu, bukan untuk memeriksa datanya.

Dua alat pandas menjadi dasar. isna() menganggap NaN, NaT, dan None sebagai nilai hilang; teks berisi spasi bukan nilai hilang, jadi aturan kosong untuk teks butuh pemeriksaan tambahan setelah .str.strip(). duplicated(subset=..., keep=False) menandai semua baris yang kuncinya muncul lebih dari sekali; nilai bawaannya keep='first' tidak menandai kemunculan pertama, sehingga laporan kehilangan separuh pasangan.

def nilai_kosong(rapor):
    kosong = rapor["nilai"].isna()
    return sorted(rapor.loc[kosong, "nis"].tolist())

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Kenapa pemeriksaan kualitas ditulis sebagai fungsi yang mengembalikan daftar id, bukan sebagai rangkaian assert di skrip pemuatan data?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke