Penjelasan sederhana
Seperti Find & Replace sel kosong di Excel. Kamu yang menentukan isinya: nol, teks, atau rata-rata.
Sintaks
df['kolom'].fillna(nilai)
| Bagian | Keterangan |
|---|---|
nilai | Pengganti: angka, teks, atau hasil hitungan seperti rata-rata kolom. |
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 fillna()
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['dept_id'] = karyawan['dept_id'].fillna(0).astype(int)
karyawan['atasan_id'] = karyawan['atasan_id'].fillna('Tidak ada')
karyawan[['nama', 'dept_id', 'atasan_id']]
Hasil 8 baris × 3 kolom
| nama | dept_id | atasan_id |
|---|---|---|
| Andi Pratama | 3 | Tidak ada |
| Bunga Lestari | 1 | Tidak ada |
| Candra Wijaya | 3 | 1 |
| Dewi Anggraini | 2 | 6 |
| Eko Saputra | 1 | 2 |
| Fajar Nugroho | 2 | Tidak ada |
| Gita Permata | 3 | 1 |
| Hendra Gunawan | 0 | Tidak ada |
dept_id yang kosong diisi 0 lalu dijadikan bilangan bulat, sedangkan atasan_id yang kosong diisi teks "Tidak ada".
Cara kerjanya, langkah demi langkah
- Sel kosong di
dept_iddiisi 0. astype(int)mengembalikan tipenya ke bilangan bulat karena sudah tidak ada NaN.- Sel kosong di
atasan_iddiisi "Tidak ada".
Dipakai untuk apa di kantor?
- Mengisi diskon kosong dengan 0 sebelum menghitung total.
- Memberi label "Tanpa kategori" untuk kategori kosong.
Kesalahan yang sering terjadi
- Mengisi angka kosong dengan 0 padahal maksudnya "belum ada data", sehingga rata-rata jadi turun.
- Lupa menyimpan hasilnya kembali ke kolom.
Progres bab Membersihkan Data
0/5 dipelajari
Lanjut: dropna()