Pada bagian ini kamu akan mempelajari bagaimana memprofile suatu data secara statistik sehingga data kamu dapat dibersihkan
(cleansing) nantinya.
Dalam bab ini, aku akan fokus pada satu aspek EDA, yaitu: Data Profiling!
Data profiling adalah kegiatan merangkum dataset menggunakan statistik deskriptif. Tujuan dari
pembuatan data profiling adalah untuk memiliki pemahaman yang kuat tentang data sehingga dapat mulai
menyusun framework analisis dan memvisualisasikan data.
Importing Data
Sebagai langkah pertama yang harus dilakukan adalah inisialisasi Library dan mengimport
dataset tersebut ke dalam Python menggunakan library Pandas dan diassign sebagai retail_raw.
Library yang perlu diimport adalah: (1) pandas, (2) numpy, (3) io, dan
(4) pandas_profiling. Untuk dua libray yang pertama importlah sebagai aliasnya.
Datasetnya tersedia di: 'https://storage.googleapis.com/dqlab-
dataset/retail_raw_reduced_data_quality.csv'.
ANSWER:
import pandas as pd
import numpy as np
import io
import pandas_profiling
retail_raw = pd.read_csv('https://storage.googleapis.com/dqlab-
dataset/retail_raw_reduced_data_quality.csv')
Jika dijalankan kode dengan baris yang ditunjukkan akan menghasilkan output:
EX:
import pandas as pd
import numpy as np
import io
import pandas_profiling
retail_raw = pd.read_csv('https://storage.googleapis.com/dqlab-
dataset/retail_raw_reduced_data_quality.csv')
# Kolom city
length_city = len(retail_raw['city'])
count_city = retail_raw['city'].count()
# Kolom product id
length_product_id = len(retail_raw['product_id'])
count_product_id = retail_raw['product_id'].count()
# Missing value pada kolom city
number_of_missing_values_city = length_city - count_city
float_of_missing_values_city = float(number_of_missing_values_city / length_city)
pct_of_missing_values_city = '{0:.1f}%'.format(float_of_missing_values_city * 100)
print('Persentase missing value kolom city:', pct_of_missing_values_city)
EX:
import pandas as pd
import numpy as np
import io
import pandas_profiling
retail_raw = pd.read_csv('https://storage.googleapis.com/dqlab-
dataset/retail_raw_reduced_data_quality.csv')
Kolom item_price
Minimum value: 26000.0
Maximum value: 29762000.0
Mean value: 933742.7311008623
Median value: 604000.0
Standard Deviation value: 1030829.8104242847
import pandas as pd
import numpy as np
import io
import pandas_profiling
retail_raw = pd.read_csv('https://storage.googleapis.com/dqlab-
dataset/retail_raw_reduced_data_quality.csv')
Kolom quantity:
0.25 2.0
0.50 5.0
0.75 12.0
Name: quantity, dtype: float64
Kolom item_price:
0.25 450000.0
0.50 604000.0
0.75 1045000.0
Name: item_price, dtype: float64
import pandas as pd
import numpy as np
import io
import pandas_profiling
retail_raw = pd.read_csv('https://storage.googleapis.com/dqlab-
dataset/retail_raw_reduced_data_quality.csv')
Syntax:
Mengingat output yang ditampilkan kaya akan penggunaan javascript, maka silakan klik tautan
berikut ini untuk dibuka di tab baru browser kamu:
Retail_Profiling.html
untuk melihat profiling report dari data frame retail_raw yang telah DQLab buatkan.
Akan dapat memahami proses profiling data yang menerapkan EDA (exploratory data analysis)
dari report yang di-generate menggunakan library pandas_profiling melalui method
ProfileReport.
Missing Data
Dataset yang ditemui di real-world biasanya akan memiliki banyak missing value. Kemampuan
untuk treatment missing value sangat penting karena jika membiarkan missing value itu dapat
memengaruhi analisis dan machine learning model. Sehingga jika menemukan nilai yang hilang
dalam dataset, harus melakukan treatment sedemikian rupa. Cara check kolom yang
mempunyai missing value:
atau
nama_dataframe['nama_kolom'].fillna(nama_dataframe.nama_kolom.mode())