Materi
Pemeriksaan rujukan di pandas memakai Series.isin(): untuk setiap nilai kunci asing, apakah nilainya ada di kolom kunci induk. Aturan NULL ditulis eksplisit seperti di SQL. Ada beda yang perlu diwaspadai: dokumentasi merge() memperingatkan bahwa bila kolom kunci di kedua tabel memuat null, baris-baris itu dipasangkan satu sama lain, berbeda dengan JOIN SQL. Saring dulu kunci kosong dengan notna(), lalu periksa sisanya terhadap kunci induk yang juga tidak kosong.
Angka yang datang sebagai teks dibaca dengan pd.to_numeric(..., errors='coerce'), yang mengubah isian tidak terbaca menjadi NaN. Dengan begitu satu syarat isna() menangkap isian kosong dan isian rusak sekaligus, lalu syarat rentang seperti <= 0 diterapkan pada sisanya.
Pencilan berbeda dari galat. NIST/SEMATECH e-Handbook mendefinisikan pencilan sebagai pengamatan yang berjarak tidak wajar dari nilai lain dalam sampel, dan menyerahkan batas tidak wajar itu kepada analis. Salah satu cara yang dijelaskannya memakai pagar dalam: Q1 − 1,5 × IQR dan Q3 + 1,5 × IQR, dengan IQR = Q3 − Q1. Nilai di luar pagar ditandai untuk ditinjau, misalnya karena bisa saja pesanan grosir yang sah, dan tetap di data sampai ada keputusan tertulis.
nilai = rapor["nilai"]
q1, q3 = nilai.quantile(0.25), nilai.quantile(0.75)
pagar_atas = q3 + 1.5 * (q3 - q1)
perlu_ditinjau = rapor.loc[nilai > pagar_atas, "nis"].tolist()