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

Memilah Data Menggunakan Library Pandas

sc: makeameme.org Filtering data? Pake filter rokok? atau pake saringan tahu? Ketika mengolah data menggunakan python, khususnya library pandas, kita mungkin tidak akan menggunakan semua data ataupun kolom pada dataset yang kita miliki. Kita hanya akan memilih data mana yang akan kita gunakan agar pengolahan lebih rapi dan simpel.  Pandas menyediakan banyak cara untuk menyeleksi data. Tiap cara penyeleksi memiliki keunikan tersendiri dalam metodenya. Penggunaan method perlu memerhatikan kenyamanan dan keperluan. Sebelum menyeleksi data, salah satu method yang kiranya perlu diaplikasikan ialah ".columns". Method ini akan menampilkan list kolom-kolom dari data frame yang kita gunakan. Pada tulisan kali ini, aku pake dataset dari kaggle. Data yang aku pake berjudul HRDataset_v14.csv . Dataset bisa diakses pada link di atas. Setelah mengetahui kolom apa saja yang terdapat pada dataset kita dapat mulai menyeleksi data. Ada beberapa cara yang dapat digunakan.  1. Seleksi dengan con...

Sistem Cerdas untuk Peningkatan Kualitas Hidup

src: STEI ITB Kemarin Rabu (02/02/2021), aku mengikuti kuliah umum yang disampaikan Prof. Suhono. Pada kuliah umum kali ini, Prof. Suhono mengangkat isu pengaplikasian sistem cerdas untuk meningkatakan kualitas hidup. Kuliah umum ini diadakan oleh KK Teknologi Informasi, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung. Berikut adalah hal-hal yang kudapat dari kuliah umum kali ini. Kemajuan teknologi infomrasi yang sangat cepat telah masuk ke segala bidang. Perkembangan sistem teknologi informasi tak berhenti di sistem otomasi saja, tetapi kehadiran sistem otonom dan cerdasnya juga telah membawa angin segar bagi tatanan kehidupan renaisance 4.0 atau society 5.0 . Pola kehidupan bermasyrakt pun ikut berubah. Namun, bila ditelisik, Indonesia masih cukup tertinggal dalam pengaplikasian sistem cerdas. Sebelum kita bahas lebih lanjut, mari kita telaah dulu, apasih sistem cerdas itu. Menurut Prof. Suhono, sistem cerdas bukan sebuah sistem dengan banyak aplikasi atau sistem ...

Machine Learning: Supervised Learning

Pada artikel sebelumnya, kita telah mempelajari bahwa supervised learning adalah jenis machine learning yang dilatih model dan akurasinya dengan dataset yang sudah diketahui ketepatan outputnya. Nah, pada post kali ini aku bakal sedikit jelasin mengenai supervised learning. Sebelum lebih jauh, mari kita bahas lagi cara penyelesaian supervised learning. Pada dasarnya, masalah pada supervised learning dibagi menjadi dua,  yakni data kontinu serta diskrit. Dari data itu lah, nantinya kita bisa menentukan metode apa yangf tepat untuk kita gunakan dalam machine learning kita. Mari kita bahas satu persatu.  1) Data Kontinu (Regression Problem) Data berjenis kontinu adalah data yang memiliki nilai kontinu. Nilai kontinu adalah nilai yang didapat dari suatu pengukuran, dan nilainya merupakan sebuah nilai antara dua titik. Ciri dari data kontinu adalah tiap nilainya memiliki kesinambungan dengan nilai lainnya. Contoh dari data kontinu adalah skor tes, harga rumah, luas rumah, luas hala...