Membersihkan Data dengan Pandas Tanpa Kehilangan Konteks

Data bersih bukan sekadar tabel tanpa sel kosong. Setiap perubahan harus mempertahankan makna data. Mulailah dengan profil data dan log keputusan agar dampak pembersihan dapat diperiksa.

Tentukan grain dan kunci

Tuliskan arti satu baris: transaksi, item transaksi, atau pelanggan. Dua baris dengan pelanggan sama belum tentu duplikat jika transaksinya berbeda. Hitung jumlah baris dan total nilai sebelum transformasi. Angka awal menjadi pembanding setelah join atau penghapusan, sehingga kamu tidak hanya menilai hasil dari tampilan tabel yang terlihat rapi.

Bedakan kosong dari nol

Nol bisa berarti tidak ada pembelian, sedangkan kosong bisa berarti belum dicatat. Periksa pola missing value dan baca definisi sumber sebelum mengisi data. Jangan memakai satu aturan pengisian untuk semua kolom. Jika data dipakai untuk pemodelan, parameter pengisian dipelajari dari bagian train agar evaluasi tidak memakai informasi data uji.

Periksa tanggal dan satuan

Format tanggal ambigu dapat membalik bulan dan hari. Simpan nilai mentah, tentukan format, dan hitung kegagalan parsing. Periksa apakah nilai uang menggunakan rupiah atau ribuan rupiah. Nilai ekstrem perlu dibandingkan dengan sumber, bukan langsung dihapus hanya karena jauh dari rata-rata.

Rekonsiliasi transformasi

Buat log aturan, jumlah baris terdampak, dan alasan. Setelah join, periksa apakah total berubah karena kunci tabel kanan tidak unik. Simpan output terpisah dari data mentah. Hasil yang dapat dijelaskan dan diulang lebih berguna daripada file akhir yang tidak memiliki jejak perubahan.

Contoh Latihan

import pandas as pd

df = pd.DataFrame({"harga": [15000, None, 0]})
print(df.isna().sum())
print(df["harga"].eq(0).sum())

Tugas Praktik

Laporkan jumlah baris, kunci duplikat, nilai kosong, dan total transaksi sebelum serta sesudah pembersihan. Jelaskan setiap selisih.

Periksa Hasilmu

  • Grain tertulis
  • Kosong dibedakan dari nol
  • Transformasi tercatat
  • Total direkonsiliasi

Bacaan lanjutan: Dokumentasi pandas: missing data.

Panduan Terkait

Lihat Semua Panduan