Cleaning Dataset
Sinopsis
Bekerja dengan dataset yang sangat besar ukurannya, perlu kecermatan. Terkadang dataset tersebut ada yang masih kosong dan untuk melakukan cek satu-persatu secara manual adalah pekerjaan harus dikurangi dan dihindari agar tidak terjadi human error, seperti dataset berikut:
Sebagai informasi, bahwa tools yang digunakan menggunakan python, numpy, pandas, dan scipy. Jadi bila bagi pemula yang ingin belajar mengenai python silahkan beli buku saya di buku-belajar-mudah-python. Bisa beli disini
- https://www.bukalapak.com/p/hobi-koleksi/buku/komputer-487/wco01c-jual-belajar-mudah-python-dengan-package-open-source-mulkan-syarif-graha-ilmu
- https://www.tokopedia.com/bukukuliahan/belajar-mudah-python-dengan-package-open-source-mulkan-syarif
- https://togamas.com/detail-buku-8585=Belajar_Mudah_Python_dengan_Package_Open_Source_
- https://petramas.co.id/product/belajar-mudah-python-dengan-package-open-source-a8c4
Pembahasan buku yaitu
- Python
- IDE Spyder sebagai Editor
- Package Numpy untuk perhitungan array
- Package Matplolib untuk visualisasi grafis
- Package Pandas untuk pengolahan data terstruktur
- Package Scipy untuk pengolahan data statistika
- Package OpenCV (instal tersendiri)
Sebelum menerapkan teknik missing value-mean, yaitu mengisi data kosong tersebut dengan reratanya, maka tahapan yang perlu dicermati adalah memastikan bahwa kolom tersebut ada isinya.
import pandas as pd import numpy as np print('Membaca dataset dan melakukan cek data') d = pd.read_excel('data_.xlsx') header = d.columns print('Cek Header Kolom yang berisi sum() == NOL') for h in header: if d[h].sum()==0: print('didapatkan! pada header : ',h)
hasil
Membaca dataset dan melakukan cek data Cek Header Kolom yang berisi sum() == NOL didapatkan! pada header : R207
Ternyata dataset diatas, terdapat kolom yang isinya kosong semua yaitu R207.
Sehingga kolom tersebut harus dibuang terlebih dahulu, sehingga menjadi berikut.
Menggunakan library Imputer seperti berikut untuk mencari missing value dan mengisi dengan reratanya.
import pandas as pd import numpy as np from sklearn.preprocessing import Imputer print('Membaca dataset dan missing value') d = pd.read_excel('data revisi.xlsx') header = d.columns array = np.array(d) imputer = Imputer(missing_values='NaN',strategy = 'mean',axis=0) imputer = imputer.fit(array) array2 = imputer.fit_transform(array) result = pd.DataFrame(data=array2,columns=header) result.to_excel("dataset final.xlsx") print('selesai')