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 diDataFrame
pertama (misalnyasubmission
)right_on
→ kolom diDataFrame
kedua (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_on
df2['EmpID']
→ dipakai sebagairight_on
how='left'
berarti semua baris daridf1
tetap dipertahankan, meski nggak ada pasangan didf2
.- Karena 'Charlie' nggak ada di
df2
, kolomSalary
jadiNaN
.
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 !!