Langsung ke konten utama

Pre-Processing, Membersihkan Dataframe pada Python

Sebagian kita mungkin mengenal python sebagai salah satu bahasa pemrograman yang dapat digunakan untuk mengolah data. Salah satu module yang cukup umum ialah Pandas. Namun, sedikit dari kita menyadari pentingnya membersihkan data sebelum digunakan. 

Sebelum masuk ke Pemrosesan mari kita nikmati sebuah meme dari reddit:

gambar 1.0

Data yang diolah tidak selalu bersih. Pada beberapa kasus terdapat data unknown atau data yang keluar dari batas wajar dan tidak sesuai mengikuti aturan di dunia nyata. Misal juamlah kuantitas belanja yang mencapai puluhan ribu pada sekali check out atau kuantitas yang nilainya lebih kecil dari satu. Oleh karena itu, diperlukan pembersihan dataset dari data yang rusak atau kotor.

Banyak metode yang dapat dilakukan untuk menormalisasi data, di antaranya mengantinya dengan modus, rata-rata, median, atau menghapusnya. Pada kasus ini, penulis menggunakan teknik dropping atau menghapus data yang rusak atau tak sesuai denagn method .drop().

Sebelum membersihkan dataset. Data perlu diverifikasi atau dicek terlebih dahulu bagaimana kondisinya, apakah terdapat data yang unknown atau tidak normal. Verifikasi data dapat dilakukan dengan method .info() dan .describe() pada data.

Method .info() digunakan untuk mendapatkan informasi dari tiap kolom, seperti banyak data yang terdeteksi dan bentuknya. Dengan begitu kita dapat mengetahui ada berapa baris yang mungkin rusak dan kerusakan ada pada kolom mana saja.

Method .describe() digunakan untuk mendapatkan data statistik dasar dari dataset atau dataframe. Dengan metode tersebut bisa didapatkan, simpangan baku, niulai minimal, maksimal, dan persentil. Berdasar hal tersebut kita dapat menyimpulkan kolom mana saja yang perlu dinormalisasi sehingga tidak ada data yang tidak wajar.

Method  .drop() digunakan untuk menghapus data yang dipilih. Dengan begitu data yang rusak tidak perlu lagi diperhitungkan. Sehingga data yang diperoleh kemudian lebih wajar dan lebih mengambarkan kenyataan.

Untuk memulai pembersihan data, hal pertama yang harus dilakukan adalah mengecek kondisi dataframe dengan metode .info() dan describe(). Pada dataset ini, berikut tampilan setelah perintah DataFrame.info() dijalankan



Gambar 1.1

Terlihat pada dataframe terdapat tujuh kolom dengan empat koilom numerik dan tiga kolom kategorik, dengan data waktu pada salah satunya. Pada kolom non-null count  terdapat sedikit keganjalan dengan jumlah null yang berbeda pada kolom ‘Quantity’. Maka dapat disimpulkan bahwa pada kolom ‘Quantity’terdapat lima belas baris yang berisi data  null.

Selain menggunakan metode .info() untuk memastikan keberadaan data null, dapat juga dilakukan perintah .isnull().any(). Dengan metode tersebut python akan menampilkan apakah pada suatu kolom terdapat data null. Jika terdapat null, akan dikeluarkan True. Sebaliknya jika tidak terdapat null, akan dikeluarkan False.


Gambar 1.2

Untuk mengatasi data yanbg tidak diketahui salah satu caranya ialah dengan menghapus data tersebut. Metode yang digunakan ialah metode drop dengan perintah

dataframe.dropna()


Gambar 1.3

Setela mengecek data dengan metode info, data juga perlu dicek degan metode describe(). Dengan begitu dapat ditentukan seberapa jauh persebara dan simpangan data. Dari sana juga dapat ditemukan apakah terdapat dari dataframe terdapat data yang melenceng secara tidak wajar atau tidak. Pada perintah sebelumnya, penulis memberi tambahan kolom ‘total’ sebagai total harga yang dibayarkan, kuantitas dikali harga satuan.


Gambar 1.4

Pada tampilan terlihat terdapat data kuantitas yang tidak wajar yakni nilai negatif , dan pembelian sebesar 62.000. Untuk membersihkan data yang melenceng dan tak normal dapat dilakukan teknik pembersihan data dengan metode outline dan pengecekan manual. Pengecekan manual digunakan untuk nilai disekitar nilai wajar, tetapi tidak masuk akal seperti kuantitas negatif. Sedangkan teknik outlier digunakan untuk membersihkan data tidak wajar berupa simpangan jauh. Seperti pembelian sebanyak 62.000 satuan.


Gambar 1.5

Teknik outlier adalah teknik membuang data yang lebih kecil dari Q1-dH dengan H merupakan nilai Q3-Q1, atau data yang lebih besar dari Q3+dH.


Gambar 1.6

Dua teknik di atas menggunakan command drop() atau penghapusan data untuk membersihkan data sehingga pada dataframe tak terdapat lagi data yang tidak normal. Setelah dilakukan dua metode di atas, didapatkan dataframe yang bersih dan wajar.

Sekian dari saya. Saya menyadari konten yang saya berikan jauh dari kata sempurna. Oleh karena itu, saya sangat mengapresiasi segala masukan, baik kritik, maupun saran yang diberikan teman-teman, Anda bisa kontak saya melalui email. 

Terima kasih sudah membaca.

Komentar

Postingan populer dari blog ini

Solusi Mengenai Masalah Air Bersih

  Haloo semuaa, kembali lagi bersamaku, kali ini aku akan memberikan sebuah solusi untuk permasalahan pada blog ku sebelumnya yang berjudul “Masalah air bersih di daerah gunung putri”.  Sebelumnya, permasalahan air bersih di daerah gunung putri terkadang mengalami masalah, seperti air yang tiba-tiba kotor atau mati air. Keadaan air yang kotor ini kadang bisa diperparah jika terjadi banjir di daerah sekitar, karena banyak lumpur yang menumpuk. Nah, maka dari itu aku dan teman kelompokku akan memberikan solusi yang akan digunakan, tetapi lebih fokus ke dalam permasalahan air yang kotor ingin diubah menjadi bersih kembali.  Pada kali ini kami akan menawarkan sebuah solusi untuk masalah air bersih pada daerah ini. Solusi ini aku buat untuk mengatasi air kotor yang terkadang muncul. Kami menaruh solusi dengan menggunakan sensor pada setiap titik pada pipa hingga bak penampungan ketika melakukan penyaringan terhadap air. Sensor ini akan dibuat untuk bekerja secara otomatis, jad...

Memang Kenapa Kalau Masyarakat Kota Kecil Gak Melek Teknologi?

Bismillah Assalamualaikum Wa Rahmatullahi Wa Barakatuh Tahun 2020 Ada apa? Tahun 2020 bisa dibilang bukan tahun yang baik bagi seluruh negara. Pada masyarkat konvensional, kehidupan serta ekonomi benar-benar terhambat. Terjadi pelambatan dan penurunan pada banyak sisi kehidupan kita. Tau ga si? Pada 2020 terjadi penurunan pendapatan perkapita masyarakat Indonesia. Indonesia tidak lagi masuk sebagai negara maju sebab pendapatan per kapita kita tak sampai 40 ribu USD. Menurut data BPS, pada 2020 terjadi peningkatan jumlah masyarakat miskin di Indonesia. Bahkan di Kota Blitar, terdapat 17 ribu pekerja terdampak Covid-19. Hal ini ditakutkan dapat menghampat visi Indonesia Emas. Terus apa dampaknya? Indonesia saat ini sedang mencanangkan visi Indonesia Emas 2045. Salah satu penyokong terwujudnya visi tersebut adalah implementasi sistem cerdas di Indoensia. Tanpa implementasi sistem cerdas, rasanya mustahil menggapai mimpi, Indonesia Emas 2045. Sistem cerdas merupakan sistem yang terintegras...

Identitas Mahsiswa dan Budaya Korupsi

  Posisi Potensi dan Peran atau yang biasa disingkat PoPoPe merupakan gambaran dari identitas mahasiswa. Popope mengambarkan bagaimana lingkungan dan tugas yang harusnya mahasiswa emban. Berisi tangung jawab dan empati, bukan sekadar omongan atau gelar kebanggan semata. Mahasiswa harus peka mengenai posisinya di masyarakat dalam bernegara. Selain itu, ia harus peka melihat potensi yang dimiliki lingkungannya, bukan malah menjadi eksklusif dan menjadi manusia yang merasa di atas. Berperan lantgsung bukan hanya sebagai mediator melainkan katalisator, bukan hanya orang yang banyak bicara tanpa aksi nyata dan mencari nama tanpa manfaat semat. Meskipun pandemi Covid melanda dunia. Namun, sungguh disayangkan, kerguian negara akibat koruipsi tak menurun. Sadisnya, justru terjadi tren pengingkatan kerugian negara akibat korupsdi sejak 2016 (ICW, 2021). Dari 444 kasus korupsi 107 di antaranya merupakan korupsi proyek Covid19, baik dpengadaan bansos, hingga proyek lainnya. Mahasiswa seba...