Pada modul ini kita akan bahas method merge dengan cara inner join.
Sebagai gambaran inner join akan mengambil data kolom dengan value yang sama dari kedua dataframe. Jika Anda familiar dengan SQL inner join, konsepnya adalah sama.
Pertama kita load library dan data yang digunakan.
import pandas as pd
salesw1 = pd.read_csv("Restaurant - Week 1 Sales.csv")
salesw2 = pd.read_csv("Restaurant - Week 2 Sales.csv")
Parameter merge yang umum digunakan adalah
- how: cara join, pada modul ini akan dibahas penggunaan inner.
- on: kolom yang digunakan sebagai key untuk proses join.
- suffixes: untuk menambahkan text suffix pada kolom hasil merge.
Contoh code merge salesw1 dan salesw2 dengan key kolom customer id dan cara join yang digunakan adalah inner.
salesw1.merge(salesw2, how="inner", on="Customer ID")
Contoh code untuk mengganti suffix
salesw1.merge(salesw2, how="inner", on="Customer ID", suffixes=["-w1", "w2"])
Perhatian, jika data tidak 1-1, maka pandas otomatis melakukan kombinasi.
Contoh kasus, pada dataframe salesw1, customer id 155 yang membeli food id 9 dan 1. Sementara pada dataframe salesw2, customer id 155 membeli food id 3.
Saat di merge, maka pandas otomatis membuat kombinasi seperti dibawah.
Multiple key
Sama seperti SQL, merge juga dapat menggunakan multiple key pada parameter on. Berikut contoh menggunakan Customer ID dan Food ID sebagai key.
salesw1.merge(salesw2, how="inner", on=["Customer ID", "Food ID"])