Overview
Fungsi dropna() dalam library Pandas Python digunakan untuk menghapus baris atau kolom dalam DataFrame yang mengandung nilai yang hilang atau NaN. Metode ini berguna dalam pemrosesan data awal, memastikan analisis lebih lanjut dilakukan pada dataset yang telah dibersihkan dari ketidaklengkapan.
Memulai perjalanan dalam analisis data dengan Python sering kali dihadapkan pada tantangan umum: bagaimana menangani data yang tidak lengkap atau missing values.
Fungsi dropna() dari library Pandas menjadi salah satu toolkit paling efektif dan mudah digunakan untuk mengatasi masalah ini. Secara sederhana, dropna() membantu menghapus baris atau kolom dari DataFrame yang mengandung nilai kosong atau NaN (Not a Number).
Mengapa ini penting? Dalam analisis data, kebersihan dan keakuratan data sangat memengaruhi hasil analisis. Dengan menghilangkan nilai yang tidak ada, kamu dapat membuat keputusan lebih tepat berdasarkan data yang tersedia. Misalnya, saat menganalisis data survei konsumen, menghapus respons yang tidak lengkap dapat membantu memfokuskan analisis pada data yang lebih relevan dan terpercaya.
Di artikel berikut, kita akan menggali lebih dalam tentang bagaimana dropna() dapat membersihkan dataset kamu, memastikan analisis yang dilakukan tidak hanya lebih cepat tetapi juga lebih akurat.
Kita juga akan mengeksplorasi berbagai parameter dan teknik yang dapat digunakan dengan dropna(). Selamat membaca!
Cara Mencari Missing Values
Menemukan missing values dalam dataset merupakan langkah penting sebelum memutuskan bagaimana menanganinya.
Dalam Python, menggunakan library Pandas, kita dapat dengan mudah mengidentifikasi baris atau kolom yang memiliki nilai yang hilang. Berikut beberapa cara untuk mencari missing values di sebuah DataFrame:
Langkah 1: menggunakan isna() untuk mendeteksi missing values
Kita akan menggunakan fungsi isna() untuk mengecek di mana missing values berada dalam DataFrame.
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/66544186d18242f8e41b7edd_vaMmRSZSq4ov1AX5PtI2MZLngqvFx4Ph-joPvlA2uZGJvd8tTyLB2dYOCxUvjrbzHme1K8chearDtdG1M0kotVpFakq3N843kaW7ldQBfFNHXOI4C2vyB8HnD_L8499jZ6I99v_jAeOrfkjxrSBNh7g.webp)
Langkah 2: menghitung jumlah missing values di setiap kolom
Selanjutnya, kita akan menghitung jumlah missing values untuk setiap kolom.
Output:
Nama 0
Umur 2
Rating 1
Langkah 3: menampilkan baris dengan missing values
Kita juga bisa menampilkan baris-baris yang memiliki missing values untuk analisis lebih lanjut.
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/665441861022aab1513f8206_3AQhaxjZL1XpeGEQo2ujpfvzDvOoqn3Or1xo7FwIDryQ3bbsdQwq-sz-waE0-EProiycFaxn6B1HGDPxd9dKML-xn6KQpbOI2-tkyMxiLnRj1SAZuz_Tvv2dspKgigPTBA-9QMpcOTL-iNQtMxrj1Bc.webp)
Cara Menangani Missing Values
Dalam menangani missing values, ada beberapa metode yang dapat kamu gunakan, tergantung pada situasi dan kebutuhan analisis data.
Dengan contoh tabel data yang sama, berikut cara umum untuk mengatasi masalah ini:
#1 Menggunakan dropna
Berikut beberapa cara dasar penggunaan dropna() untuk menghapus missing values:
Menghapus baris yang mengandung missing values
Ini adalah penggunaan yang paling umum dari dropna(), menghapus setiap baris di DataFrame yang mengandung setidaknya satu nilai NaN.
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/665441862d8eec3fb19aedb9_angODvzvOT6cJuHdG-torQCKSCEaqkO8s3Qub25-wrWa-oQCVWGCmXhXtMKq8gw0MxMGZp6rAzpVLMGGYpnz3szqlKv32gAx1I7ckRzU85WvxKqhz7VF1P_nXBncithJXqj7O77lm2K8njuvCRdwa70.webp)
Menghapus kolom yang mengandung missing values
Kamu juga bisa memilih untuk menghapus kolom yang mengandung missing values dengan menentukan axis=1.
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/6654418695d19684a7bd9ff3_ql81pT0nEb6MhV_DkpLi3CTI1xMVBariCHDnKeXjEWk2sY_nXOSwTBHCoU9obDys1SCWGjwnE-oRRf1XVjgc8L3jcumPKimZGDNSVMWM-BPoDTR708_das81Y2_s1hzeTpA0KkAZQDXVqeo90kRJn84.webp)
Menyesuaikan penghapusan dengan parameter tambahan
- how: 'any' (default) menghapus baris/kolom jika terdapat setidaknya satu NaN, sedangkan 'all' hanya jika semua nilai adalah NaN.
- thresh: batas minimum non-NaN values yang harus ada agar baris/kolom tidak dihapus.
- subset: memungkinkan spesifikasi kolom tertentu untuk diperiksa missing values.
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/665441867b23fd45dca0dfc9_XrevDpYV9Ci72DASBRG70zl3BX-NUExuG1MS0u0pfaS91UU8p90IwDndR697j6z7AngLO6IAi-Jgy9EzTnQ9Yjz7z_yM2XGqF8q15Uozze7U0CDcwT5rdfY0OOforInDP3IsXg5TxyT4AAfe5zg-Kb8.webp)
#2 Metode lain menangani missing values
Selain dropna(), ada beberapa metode lain untuk menangani missing values:
Menggunakan fillna
Metode fillna() mengisi missing values dengan nilai tertentu yang kamu spesifikasikan. Contoh:
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/66544186d66a057b2541be41_YHblSbmwgOSgWI9dEx35SBJZU4W21JbSXIlVvAiyQNpZvTGA6AgjXV7RSpQooWDNhxeQXPD3GaPcIVxQpOfzCJM0XIiuuvGGGso3GA6lth3_vYwRz4N9E-txcOcMbnPeexNLeyvNEUUdmoa_2SEHPCU.webp)
Teknik Interpolasi
Interpolasi adalah teknik untuk mengestimasi nilai yang hilang berdasarkan nilai lain yang berdekatan dalam data. Contoh:
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/66544186dbcff745b107b9f8_QNgQ6T1XsQv2kpjBesg2TmRUWIdxOmAozP6WxRY8nrSN_najdOQVGkroXOyrM1fn_drMpgtYKOmxpQQMSJIfXN9HyuCo87qsirw2oX56vAslSuDoPbMEgCap0gJqnXbFKU7mbgWbcZyKSjMfjgaBQVM.webp)
Mengganti dengan nilai rata-rata atau median
Mengganti missing values dengan rata-rata atau median kolom merupakan cara populer untuk mempertahankan distribusi data.
Saat menggunakan fillna untuk mengganti nilai NaN, penting untuk memastikan nilai pengganti sesuai dengan tipe data kolom tersebut. Jika kolom berisi data numerik, isi dengan nilai numerik; jika kolom berisi teks, gunakan teks sebagai pengganti. Langkah ini penting untuk menghindari kesalahan dalam pengolahan data.
Contoh:
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/665441861022aab1513f820a_pK3_H8dIwXNrE-D8tI4hNEN4h4mqAAU8LKECtufMXl_hPBS9b_bJJzFkIWAtfIU4va8poDHFhdJ-hZFm-AvwgJpTMrhz51WuZ3n9Wb0BRCelNL1B5Omn7KfUejkaS7DpHM58p8QmR5-DwYogYPp2Iks.webp)
FAQs (Frequently Asked Questions)
Apakah dropna() mengubah DataFrame asli atau menghasilkan yang baru?
Jika semua baris atau kolom dalam sebuah DataFrame memiliki setidaknya satu nilai NaN dan kamu menggunakan fungsi dropna() dengan parameter default how='any', semua baris atau kolom tersebut akan dihapus.
Artinya, DataFrame bisa menjadi kosong jika setiap baris atau kolom memang memiliki setidaknya satu nilai NaN.
Jika situasi seperti ini tidak diinginkan, kamu dapat menyesuaikan cara kerja dropna() sebagai berikut:
- Menggunakan how='all' akan menghapus baris atau kolom hanya jika semua nilainya adalah NaN.
- Mengatur thresh untuk menentukan jumlah minimum nilai non-NaN yang harus ada agar baris atau kolom tidak dihapus. Contoh, thresh=2 berarti baris atau kolom harus memiliki setidaknya dua nilai non-NaN untuk tidak dihapus.
Bagaimana cara menangani DataFrame yang memiliki tipe data campuran saat menggunakan dropna()?
Saat menghadapi DataFrame yang memiliki tipe data campuran, fungsi dropna() tetap dapat digunakan tanpa perlu penyesuaian khusus terkait tipe data. Fungsi ini berfokus pada identifikasi dan penghapusan nilai-nilai yang hilang (NaN atau None), terlepas dari tipe data kolomnya.
Namun, ada beberapa tips yang bisa kamu pertimbangkan ketika bekerja dengan DataFrame yang memiliki tipe data campuran:
- Pastikan konsistensi data: sebelum mengaplikasikan dropna(), pastikan data telah dikonversi ke tipe yang konsisten di dalam tiap kolom jika diperlukan. Misalnya, terkadang kolom yang seharusnya berisi angka memiliki beberapa nilai yang tersimpan sebagai teks. Menggunakan fungsi konversi seperti pd.to_numeric() atau astype() dapat membantu menyamakan tipe data.
- Periksa data: melakukan pemeriksaan seperti df.info() atau df.dtypes bisa memberi gambaran tentang tipe data di tiap kolom dan membantu identifikasi kolom mana yang memerlukan penanganan khusus.
- Menggunakan parameter dengan tepat: jika tujuanmu adalah menghapus baris atau kolom berdasarkan missing values pada kolom tertentu yang memiliki tipe data tertentu, gunakan parameter subset untuk memfokuskan operasi dropna() pada kolom-kolom tersebut.
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/62bbfbb189b700fc937e2e70_Logo-RevoU-5.png)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Artikel Lainnya
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/665517797cde1d42a555ef72_python-dropna-tutorial.webp)