left_on dan right_on di Pandas merge()
Fungsi merge() di Pandas digunakan untuk menggabungkan dua DataFrame berdasarkan kolom tertentu. Parameter left_on dan right_on dipakai buat menentukan kolom mana yang jadi "kunci" untuk penggabungan.
left_on→ kolom diDataFramepertama (misalnyasubmission)right_on→ kolom diDataFramekedua (misalnyaseeds_men)
Contoh Kode
import pandas as pd
# DataFrame pertama (left)
df1 = pd.DataFrame({
'EmployeeID': [1, 2, 3],
'Name': ['Alice', 'Bob', 'Charlie']
})
# DataFrame kedua (right)
df2 = pd.DataFrame({
'EmpID': [1, 2, 4],
'Salary': [50000, 60000, 70000]
})
# Menggabungkan berdasarkan kolom yang beda nama
merged = pd.merge(df1, df2, left_on='EmployeeID', right_on='EmpID', how='left')
print(merged)
Output
EmployeeID Name EmpID Salary
0 1 Alice 1 50000
1 2 Bob 2 60000
2 3 Charlie NaN NaN
Penjelasan
df1['EmployeeID']→ dipakai sebagaileft_ondf2['EmpID']→ dipakai sebagairight_onhow='left'berarti semua baris daridf1tetap dipertahankan, meski nggak ada pasangan didf2.- Karena 'Charlie' nggak ada di
df2, kolomSalaryjadiNaN.
Kalau Nama Kolom Sama
Kalau nama kolom di dua DataFrame sama, kita bisa langsung pakai on= aja:
merged = pd.merge(df1, df2, on='EmployeeID', how='left')
Gampang kan? Kalau masih bingung soal tipe join atau hal lain di merge(), komen di kolom komentar ya !!