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:
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.
Terima kasih sudah membaca.
Komentar
Posting Komentar