Sabtu, 20 Juli 2019

Python - Cleaning Dataset



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

http://www.softscients.web.id/2018/11/buku-belajar-mudah-python-dengan.html

Bisa beli disini

  1. https://www.bukalapak.com/p/hobi-koleksi/buku/komputer-487/wco01c-jual-belajar-mudah-python-dengan-package-open-source-mulkan-syarif-graha-ilmu
  2. https://www.tokopedia.com/bukukuliahan/belajar-mudah-python-dengan-package-open-source-mulkan-syarif
  3. https://togamas.com/detail-buku-8585=Belajar_Mudah_Python_dengan_Package_Open_Source_
  4. https://petramas.co.id/product/belajar-mudah-python-dengan-package-open-source-a8c4 
Pembahasan buku yaitu
  1. Python
  2. IDE Spyder sebagai Editor
  3. Package Numpy untuk perhitungan array
  4. Package Matplolib untuk visualisasi grafis
  5. Package Pandas untuk pengolahan data terstruktur
  6. Package Scipy untuk pengolahan data statistika
  7. 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)

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')


Tidak ada komentar: