penerapan data formatting dengan pandas python

3 Contoh Penerapan Data Formatting dengan Pandas

Posted by

Data formatting adalah salah satu proses yang cukup penting dalam menganalisis data. Data formatting merupakan proses membentuk data menjadi bentuk standar ekspresi yang umum agar lebih mudah dipahami. Ini merupakan salah satu proses data cleaning dalam project data science.

Pada artikel ini, saya akan membahas tentang masalah pada data yang sebaiknya dilakukan data formatting serta method di pandas yang dapat digunakan untuk menangani isu tersebut.

Nah, apa saja masalah yang sebaiknya dilakukan data formatting? Mari kita bahas.

Format yang tidak seragam dalam merepresentasikan sebuah entitas

Masalah yang pertama adalah format yang tidak seragam dalam merepresentasikan sebuah entitas.

Data biasanya dikumpulkan dari beberapa tempat berbeda oleh orang-orang berbeda yang mungkin ditulis atau disimpan dalam format yang berbeda. Contohnya dalam pengisian form registrasi di sebuah website, setiap orang mungkin menggunakan ekspresi yang berbeda untuk merepresentasikan kota Bandung misalnya, seperti Bandung, BDG, atau bdg.

Dalam pandangan kita, tentu kita sudah mengetahui bahwa dua tabel di atas, tabel A dan B, sama-sama mengandung nilai yang sama yaitu Bandung meskipun ditulis dengan singkatan.

Pada tabel A Bandung ditulis dengan format yang beragam yaitu Bandung, BDG, dan bdg, sedangkan tabel B semuanya ditulis dengan format yang sama yaitu Bandung.

Dalam proses analisis, tabel A yang tidak terformat akan sulit disatukan dan dibandingkan serta cukup memusingkan untuk dianalisis apalagi jika data tidak terformat sangat banyak dan lebih beragam. Ini dikarenakan Python akan menganggap “Bandung”, “BDG”, dan “bdg” adalah tiga entitas berbeda.

Baca juga: Tipe Data Dasar di Python (String, Integer, Float, Boolean)

Sebaliknya tabel B yang sudah terformat akan dengan mudah disatukan dan dibandingkan karena memiliki nilai yang sama dan diangga sebagai satu entitas serta terlihat lebih jelas dan mudah dipahami.

Karena itu, data formatting perlu diterapkan pada kasus ini agar data dengan arti yang sama tetapi ditulis dengan format berbeda dapat diperlakukan sebagai entitas yang sama dan memudahkan analisis statistik yang akan dilakukan.

Untuk menangani permasalahan di atas, gunakan method replace() untuk mengganti nilai “BDG” dan “bdg” menjadi “Bandung”. Perhatikan kode berikut.

df["Kota"] = df["Kota"].replace(["BDG", "bdg"], "Bandung")

Penggunaan satuan ukur yang tidak familiar

Contoh lain dalam penerapan data formatting yaitu mengubah data menjadi nilai dengan format satuan pengukuran yang umum. Misalnya pada dataset automobile dalam kolom city-mpg, satuan ukur yang digunakan yang berkenaan dengan konsumsi bahan bakar sebuah mobil adalah miles per gallon (mpg).

Jenis satuan ini mungkin hanya digunakan di beberapa negara saja dan bukan merupakan satuan standar yang umum dan dipahami oleh semua orang.

Untuk kasus seperti ini, kita dapat mengkonversi seluruh nilai di kolom city-mpg yang berformat miles per gallon menjadi format liters per 100km yang dapat dipahami oleh semua orang.

Untuk mengkonversinya, kita bisa membagi 235 dengan setiap nilai di kolom city-mpg. Di Pandas Python, kita dapat dengan mudah melakukannya hanya dengan satu baris kode.

df["city-mpg"] = 235 / df["city-mpg"]

Setelah mengkonversi mpg menjadi L/100km, selanjutnya ganti nama kolom city-mpg dengan city-L/100km menggunakan method rename().

df.rename(columns={"city-mpg": "city-L/100km"}, inplace=True)

Tipe data yang tidak sesuai

Masalah lain yang perlu diterapkan data formatting adalah ketidaksesuaian tipe data. Lihat gambar berikut.

Dapat dilihat pada gambar di atas bahwa kolom price memiliki tipe data object. Tipe data object ini jika di Pandas sama dengan string. Padahal seharusnya bertipe integer atau float karena merupakan bilangan.

Biasanya kesalahan semacam ini dikarenakan ada missing values pada kolom price tersebut. Blank cell atau karakter lainnya yang merepresentasikan missing values dianggap object (string) sehingga secara keseluruhan kolom tersebut juga akan dianggap bertipe data object, karena ada string dan integer.

Baca juga: Cara Menangani Missing Values di Project Data Science

Pengecekan tipe data untuk tiap features (kolom) merupakan hal yang sangat penting untuk analisis dan eksplorasi data ke depannya. Maka ketika menemukan ketidaksesuaian tipe data seperti kasus di atas, kita harus mengkonversinya menjadi tipe data yang seharusnya.

Untuk mengidentifikasi tipe data dari masing-masing kolom, saya telah membahasnya disini.

Lalu bagaimana cara mengkonversinya?

Untuk mengkonversi tipe data menjadi tipe data lainnya dapat menggunakan method astype(). Misalnya pada kasus di atas kita akan mengganti tipe data di kolom price menjadi integer.

df["price"] = df["price"].astype("int")

Semoga bermanfaat!