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

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...

ML101: Intoduction to Machine Learning

Pengertian Machine Learning Sebelum kita belajar tentang ML atau machine learning lebih jauh,  ada baiknya kita belajar mengenai pengertian atau terminologinya lebih jauh. Ada sebuah terminologi yang aku pelajari dari Arthur Samuel mengenai ML. Menerut beliau, Ml adalah bidang studi yang memberi jalan pada komputer untuk memiliki kemampuan belajartanpa perlu diprogram secara eksplisit. Ada sebuah definisi dari ML yang lebih modern dari Tom Mitchell, yakni "sebuah program komputer yang dikatakan belajar dari pengalaman E dengan menghargai beberapa kelas tugas T dan perhitungan performa P. Di mana performanya dalam mengerjakan tugas T, dihitung dalam P, dan ditingkatkan melalui pengalaman E." Agar mudah memahaminya, kuberi sebuah analogi dalam bermain catur. Misalnya pada kasus bermain catur, E adalah pengalaman dalam bermain catur. T adalah tugas dalam permainan catur. P adalah propabilitas program memanangkan catur. Lebih lanjut, secara umum machine learning diklasifikasikan ...

Need-Know-How-Solve: Problem (2) Jumlah Tukang Cukur Rambut Pria di Bandung

Halo, Bismillah Assalamualaikum wa rahmatullahi wa barakatuh. Kembali lagi dengan saya, Risqi Firdaus. Pada kesempatan kali ini, saya akan membahasa sedikit tentang penyelesaian masalah dengan Need-Know-How-Solve. Untuk memudahkan, kita akan melakukan studi kasus pada permasalahan jumlah tukang cukur rambut pria di bandung. Need: Jumlah kios cukur rambut pria di Kota Bandung. Know:  Menurut sensus penduduk tahun 2020 yang dilakukan oleh BPS, jumlah penduduk Kota Bandung pada tahun 2020 ialah 2,5 juta warga. Dalam publikasi yang sama, BPS menyatakan perbandingan penduduk berdasarkan gender berada di angka 1:1.  Menurut data Dinas Kependudukan dan Pencatatan Sipil, pada tahun 2018, terdapat 51 ribu perantau yang mengadu nasib di Kota Bandung. Peningkatan per tahunnya juga sangat kecil, yakni berkisar di angka 0,006 persen.  Menurut Elmira, rentang waktu ideal memotong rambut pendek (umumnya pria) ialah 4-6 minggu sekali.  Mengutip dari Replubika, sebuah kios barbershop...