Contoh implementasi “IF” pada Pandas (Python) seperti di Ms.Excel
Microsoft Excel is still the most used program in business. In Excel’s defense, it has some advantages; Due to it’s longevity and prevalence it is widely understood. Most computers have a program pre-installed that can open a spreadsheet prepared in Excel. ~~paulclarke.com.au~~
Ms.Excel adalah suatu program spreadsheet keluaran Ms.Office yang terdiri dari baris dan kolom dimana sering digunakan untuk analisa data. Ms.Excel memiliki segudang keungulan seperti Interface yang fleksibel, mudah di pelajari dan digunakan hampir diseluruh industri. Namun, untuk melakukan analisa data skala besar Ms. Excel tidak lagi mampu dikarenakan jumlah baris dan kolom yang terbatas.
Untuk menjawab permasalahan Ms.Excel tersebut para data analyst biasa menggunakan SQL dan pandas.
Bagaimana cara menggunakan “IF” pada pandas seperti di Ms.Excel?
Fungsi IF pada excel sering digunakan untuk klasifikasi data agar mendapat suatu summary awal. Pada tulisan ini, saya akan memberi contoh dan trik penggunaan IF pada pandas
Diketahui terdapat suatu data dengan kolom “Brand” dan “Price”
import pandas as pd
cars = {'Brand_Honda':
['Brio','Jazz','HRV','CRV','Civic','Mobilio','BRV','City'],
'Price_Juta': [148,252,300,467,536,205,251,355]
}df = pd.DataFrame(cars, columns = ['Brand_Honda', 'Price_Juta'])
df
Case 1 :
Jika nilai price dibawah 250 maka “<250” , lainnya adalah “>250”
# Metode 1
# Menggunakan "loc"df.loc[df['Price_Juta'] < 250, 'klasifikasi_Price'] = '< 250'
df['klasifikasi_Price'] = df['klasifikasi_Price'].fillna('> 250')
df
# Metode 2
# Menggunakan "lambda"df['klasifikasi_Price'] = df['Price_Juta'].apply(lambda x: '< 250' if x < 250 else '> 250')
df
# Metode 3
# Menggukan "cut"df['klasifikasi_Price'] = pd.cut(df.Price_Juta,[0,250,1000],
labels=['< 250','> 250'])df
Case 2 :
Jika Brand adalah Brio, Mobilio, Jazz dan BRV maka “Honda < 300” , lainnya “Honda > 300”
# Menggunakan "loc"df.loc[df['Brand_Honda'] == 'Brio', 'Brand'] = 'Honda < 300'
df.loc[df['Brand_Honda'] == 'Mobilio', 'Brand'] = 'Honda < 300'
df.loc[df['Brand_Honda'] == 'Jazz', 'Brand'] = 'Honda < 300'
df.loc[df['Brand_Honda'] == 'BRV', 'Brand'] = 'Honda < 300'
df['Brand'] = df['Brand'].fillna('Honda > 300')
df
Case 3 :
Jika “< 250” dan “Honda < 300” maka “murah” , lainnya adalah “mahal”
# Menggunakan "loc"df.loc[(df['klasifikasi_Price'] == '< 250')
& (df['Brand'] == 'Honda < 300'), 'Keterangan'] = 'Murah'
df['Keterangan'] = df['Keterangan'].fillna('Mahal')
df
Ms. Excel merupakan alat yang paling efisien dalam analisa data secara statistika deskriptif, karena efisen, cepat dan mudah untuk digunakan. Pandas dan python hadir sebagai media analisa dengan tingkatan analisa yang lebih tinggi dan memiliki skala dimensi yang lebih besar. Memahami Ms.Excel dan Pandas merupakan hal yang sangat menguntungkan sebagai seorang data analyst ataupun bukan, karena sebagai langkah awal dalam melakukan analisa dan menerjemahkan data ke dalam laporan yang dapat dipahami management atau user.
Terimakasih
Lintang Gilang Pratama