Penjelasan sederhana
Kalau sebuah baris tidak berguna tanpa data tertentu, buang saja. subset menentukan kolom mana yang wajib terisi.
Sintaks
df.dropna(subset=None, how='any')
| Bagian | Keterangan |
|---|---|
subset | Daftar kolom yang dicek. Kalau kosong, semua kolom dicek. |
how | 'any' buang kalau ada satu saja yang kosong, 'all' hanya kalau semuanya kosong. |
df adalah nama DataFrame (tabel) yang sedang diolah. Contoh di bawah memakai import pandas as pd dan import numpy as np, yang sudah disiapkan otomatis.
Contoh dropna()
Data contoh: karyawan (sudah tersedia sebagai DataFrame)
DataFrame karyawan
| id | nama | dept_id | kota | gaji | tgl_masuk | atasan_id |
|---|---|---|---|---|---|---|
| 1 | Andi Pratama | 3 | Bandung | 12500000 | 2019-03-11 | NaN |
| 2 | Bunga Lestari | 1 | Jakarta | 9800000 | 2020-07-01 | NaN |
| 3 | Candra Wijaya | 3 | Bandung | 8200000 | 2021-02-15 | 1 |
| 4 | Dewi Anggraini | 2 | Jakarta | 7500000 | 2022-05-09 | 6 |
| 5 | Eko Saputra | 1 | Jakarta | 6900000 | 2023-01-16 | 2 |
| 6 | Fajar Nugroho | 2 | Surabaya | 11000000 | 2018-09-03 | NaN |
| 7 | Gita Permata | 3 | Jakarta | 8200000 | 2023-08-21 | 1 |
| 8 | Hendra Gunawan | NaN | Medan | 5500000 | 2024-04-02 | NaN |
karyawan.dropna(subset=['dept_id'])[['nama', 'dept_id']]
Hasil 7 baris × 2 kolom
| nama | dept_id | |
|---|---|---|
| 0 | Andi Pratama | 3 |
| 1 | Bunga Lestari | 1 |
| 2 | Candra Wijaya | 3 |
| 3 | Dewi Anggraini | 2 |
| 4 | Eko Saputra | 1 |
| 5 | Fajar Nugroho | 2 |
| 6 | Gita Permata | 3 |
Hanya Hendra Gunawan yang terbuang karena dept_id-nya kosong; atasan_id yang kosong tidak dicek karena tidak ada di subset.
Cara kerjanya, langkah demi langkah
- Pandas mengecek kolom
dept_iddi setiap baris. - Baris yang kosong di kolom itu dibuang.
- Dua kolom dipilih untuk ditampilkan.
Dipakai untuk apa di kantor?
- Membuang transaksi tanpa nominal sebelum menghitung total.
- Menyiapkan data untuk grafik atau model.
Kesalahan yang sering terjadi
- Memanggil
dropna()tanpa subset, sehingga baris yang hanya kosong di kolom tidak penting ikut terbuang. Di contoh ini, 4 karyawan akan hilang karena atasan_id. - Tidak mengecek berapa baris yang terbuang. Bandingkan
len(df)sebelum dan sesudah.
Progres bab Membersihkan Data
0/5 dipelajari
Lanjut: drop_duplicates()