Overview
Dalam Python, khususnya menggunakan librarya Pandas, fungsi isna() dan isnull() digunakan untuk mengidentifikasi nilai-nilai yang hilang dalam sebuah DataFrame atau Series, di mana keduanya memberikan hasil yang sama. Penggunaan kedua fungsi ini penting dalam proses data cleaning untuk memastikan analisis yang akurat dan berbasis data lengkap.
Dalam perjalanan mengolah data, biasanya kita menemukan tantangan berupa data yang tidak lengkap. Di sinilah fungsi isna() dan isnull() dalam Python Pandas menjadi penyelamat.
Sering dianggap serupa, keduanya memainkan peran penting dalam memastikan integritas data yang kita olah. Fungsi-fungsi ini berperan dalam mengidentifikasi nilai-nilai yang hilang dalam dataset.
Dengan menggunakan isna() dan isnull(), kamu bisa menemukan baris atau kolom dalam DataFrame yang berisi nilai NaN (Not a Number) atau None, menunjukkan keberadaan data yang hilang. Setelah mengidentifikasinya, kamu memiliki pilihan untuk menghapus atau menggantikan nilai-nilai tersebut dengan statistik yang lebih representatif seperti rata-rata atau median.
Artikel berikut akan menjelajahi lebih dalam tentang fungsi isna() dan isnull(), termasuk bagaimana dan kapan menggunakan masing-masing untuk mendukung proses data cleaning. Selamat membaca!
Perbedaan isna vs isnull di Pandas DataFrame
Pada dasarnya, isna() dan isnull() di Pandas tidak memiliki perbedaan dalam fungsi. Keduanya digunakan untuk mendeteksi nilai yang hilang atau absen dalam DataFrame atau Series.
Ketika dipanggil, kedua fungsi ini menghasilkan output yang sama, yaitu sebuah DataFrame atau Series baru yang berisi nilai boolean True untuk entri yang hilang dan False untuk entri yang ada.
Namun, keduanya juga memiliki perbedaan yang penting untuk diketahui:
#1 Tujuan pembuatan
isnull() adalah fungsi yang lebih tradisional dan umum digunakan dalam berbagai library pemrograman untuk menandai data yang hilang.
Di sisi lain, isna() diperkenalkan di Pandas untuk membuat terminologi yang lebih intuitif dan sesuai dengan berbagai jenis data yang hilang, tidak hanya NULL seperti yang sering diasumsikan dalam database.
#2 Konsistensi terminologi
Penggunaan isna() mencerminkan upaya untuk konsistensi dalam terminologi Pandas, mengingat Pandas juga menyediakan fungsi fillna() yang dipakai untuk mengganti nilai yang hilang. Ini menciptakan konsistensi dalam penamaan fungsi yang berhubungan dengan penanganan nilai yang hilang.
#3 Rekomendasi penggunaan
Meskipun kedua fungsi tersebut memiliki fungsi yang sama, komunitas Python dan Pandas cenderung lebih merekomendasikan penggunaan isna() karena lebih intuitif dan secara terminologi konsisten dengan fungsi lain di Pandas yang mengelola data yang hilang.
Syntax isna vs isnull di Pandas DataFrame
Berikut sintaks yang digunakan untuk fungsi isna() dan isnull() dalam konteks Pandas DataFrame:
Sintaks dasar isna()
Fungsi isna() dipanggil pada objek DataFrame atau Series untuk mengembalikan DataFrame atau Series yang sama dengan nilai boolean, di mana True menandakan elemen tersebut adalah nilai yang hilang.
Sintaks dasar isnull()
Sama seperti isna(), isnull() juga dipanggil pada objek DataFrame atau Series. Fungsinya adalah untuk mengidentifikasi nilai yang hilang, mengembalikan DataFrame atau Series, menunjukkan True untuk elemen yang hilang.
Cara dan Contoh Penggunaan isna di Pandas DataFrame
Berikut langkah-langkah penggunaan isna():
- Pastikan library Pandas telah di-import di lingkungan kerja Python.
- Kamu bisa membuat DataFrame dari dictionary, membaca dari file, atau menggunakan data yang sudah ada.
- Gunakan fungsi isna() pada DataFrame untuk mengetahui di mana letak nilai yang hilang.
Misalkan kita memiliki dataset yang menggambarkan informasi penjualan buku, tetapi beberapa data penjualan dan harga buku hilang.
Output:
Output ini akan menunjukkan posisi dari nilai yang hilang dalam DataFrame:
Dari output tersebut, kita bisa melihat bahwa:
- Kolom "Penjualan" untuk buku "Sang Pemberani" dan "Petualangan Baru" memiliki nilai yang hilang (None).
- Kolom "Harga" untuk buku "Misteri Hilang" juga tidak memiliki nilai (None).
Cara dan Contoh Penggunaan isnull di Pandas DataFrame
Inilah langkah-langkah penggunaan isnull() di Pandas DataFrame:
- Pastikan library Pandas telah di-import.
- Kamu bisa membuat DataFrame sendiri dari data yang tersedia, atau membaca data dari sumber eksternal.
- Aplikasikan isnull() pada DataFrame untuk mengetahui lokasi nilai yang hilang.
Mari kita gunakan dataset yang sama dari contoh isna():
Output:
Output akan memberikan informasi tentang lokasi nilai yang hilang dalam DataFrame.
Dari output tersebut:
- Kolom "Penjualan" untuk buku "Sang Pemberani" dan "Petualangan Baru" menunjukkan nilai True, menandakan terdapat nilai yang hilang.
- Kolom "Harga" untuk buku "Misteri Hilang" juga menunjukkan nilai True untuk indikasi nilai yang hilang.
Mengecek jumlah data yang null dengan df.isnull().sum()
Fungsi df.isnull() akan menghasilkan DataFrame yang sama ukurannya dengan DataFrame asli kamu, di mana setiap sel akan bernilai True jika data di sel tersebut hilang, dan False jika tidak.
Ketika kamu menambahkan .sum() setelah df.isnull(), Pandas akan menghitung jumlah nilai True (nilai yang hilang) dalam setiap kolom. Ini memberikan gambaran jelas tentang berapa banyak nilai yang hilang dalam setiap kolom dari DataFrame kamu.
Misalkan kita menggunakan dataset yang menggambarkan informasi penjualan buku dengan beberapa data yang hilang seperti contoh sebelumnya. Untuk memeriksa jumlah nilai yang hilang di setiap kolom, kamu bisa menggunakan kode berikut:
Output:
FAQs (Frequently Asked Questions)
Bagaimana cara mengatasi nilai yang hilang setelah menggunakan isna() atau isnull()?
Berikut beberapa cara yang dapat kamu gunakan setelah mengidentifikasi nilai yang hilang menggunakan isna() atau isnull() dalam Pandas:
#1 Menghapus data yang hilang
- Menghapus baris: jika data yang hilang tersebut dianggap penting dan tidak bisa digantikan, baris yang mengandung nilai hilang tersebut bisa dihapus. Hal ini dapat dilakukan dengan fungsi dropna().
- Menghapus kolom: jika sebagian besar nilai dalam sebuah kolom hilang, disarankan untuk menghapus seluruh kolom tersebut.
#2 Mengganti nilai yang hilang
- Mengisi dengan nilai tetap: kamu bisa mengisi nilai yang hilang dengan nilai tetap yang kamu tentukan (seperti 0) atau string tertentu.
- Menggunakan rata-rata, median, atau modus: untuk data numerik, nilai yang hilang sering digantikan dengan rata-rata atau median dari kolom tersebut.
- Mengisi dengan metode interpolasi: Pandas juga menyediakan metode interpolasi yang bisa mengganti nilai yang hilang berdasarkan nilai sebelum dan sesudahnya.
Bagaimana performa isna() dibandingkan dengan isnull()? Apakah ada perbedaan?
Dalam penggunaan praktis, fungsi isna() dan isnull() di Pandas sebenarnya tidak menunjukkan perbedaan yang signifikan dalam hal performa.
Kedua fungsi ini sangat mirip dan pada dasarnya merupakan alias satu sama lain, yang berarti keduanya menghasilkan hasil yang sama dan berjalan dengan kecepatan serupa.
Pilihan penggunaan fungsi bisa didasarkan pada kedua hal berikut:
- Preferensi penggunaan: pilihan antara menggunakan isna() atau isnull() biasanya bergantung pada preferensi pribadi user atau konvensi yang diikuti dalam tim atau proyek. Beberapa user mungkin lebih menyukai isna() karena terasa lebih intuitif dan konsisten dengan fungsi lain seperti fillna() yang juga menangani nilai hilang.
- Konsistensi dalam kode: untuk memastikan konsistensi dalam kode yang lebih besar atau dalam proyek yang melibatkan banyak developer, mungkin akan berguna untuk memilih salah satu fungsi dan menggunakannya secara konsisten di seluruh kode.
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!)