Overview
Fungsi merge di Pandas memungkinkan penggabungan dua dataset berdasarkan kunci penggabungan yang ditentukan, mirip dengan operasi join dalam SQL. Ini berguna untuk mengintegrasikan dan menyinkronkan data dari berbagai sumber ke dalam satu DataFrame yang konsolidasi, memfasilitasi analisis yang lebih kompleks dan mendalam.
Dalam dunia Python, library Pandas menyediakan tool yang powerful, yaitu fungsi merge, yang berperan vital dalam mengolah data besar dengan cepat dan efisien.
Merge mirip dengan apa yang dilakukan dalam penggabungan tabel pada SQL. Dengan menggunakan merge, kamu bisa menyatukan informasi dari beberapa DataFrame berdasarkan kolom key yang sama atau kondisi tertentu, sehingga memudahkan dalam analisis data yang lebih kompleks.
Dengan kata lain, merge menjadi jembatan yang menghubungkan dua informasi terpisah.
Artikel ini akan membimbing kamu melalui seluk-beluk fungsi merge di Pandas, mulai dari konsep dasar sampai penggunaan lanjutannya, sehingga kamu dapat menggunakannya untuk memaksimalkan output analisis data kamu. Mari kita selami lebih dalam!
Cara Menggabungkan DataFrame dengan merge di Pandas
Berikut cara menggabungkan DataFrame dengan merge di Pandas:
#1 Merge DataFrame dengan inner join
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/666f0ea10323fc9817ca4518_AD_4nXdPDxdv62JgyQydqXH3rX4RD3ZmjMs3_IIhehhNnbff1Ims7EHT3VbGdkHuPoNx0FelWjm6QmjVdGRMVQNni8sI0nt9VCqqPmAuCMX76GfLaZwCpnv5bS2Z6wXMupRD6uCgggwmJZG4aGO_6nPuYuHRyUdg.webp)
Inner join merupakan metode penggabungan yang paling umum digunakan. Metode ini menggabungkan baris dari dua DataFrame berdasarkan key value yang cocok di kedua DataFrame tersebut.
Baris yang tidak memiliki pasangan key di kedua DataFrame tidak akan ditampilkan dalam hasil akhir.
Langkah-langkah menggunakan inner join:
- Siapkan dua DataFrame yang ingin kamu gabungkan. Misalnya, df1 memiliki kolom 'Produk' dan 'Penjualan', lalu df2 memiliki kolom 'Produk' dan 'Harga'.
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/666f0ea194800782b51ff18b_AD_4nXeyGqzmEPdnEGb8Dd9kTgyVOVLG2XHO9878VWW9pO69UtoGL1BSPqyH48TxeftlT-97utbEuNr7HvooBv3eP3Bacmod3w-HIWjC_X4DaU4xFxZVkFhfcqFRDxHRUt-qFgQWwRsC2PKFs_OFoFjAyvE_s30v.webp)
- Selanjutnya, gunakan fungsi merge() dan spesifikasikan parameter how='inner' untuk menerapkan inner join.
Contoh:
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/666f0ea11b86d3d193d121a3_AD_4nXfbpMkux7qs2mZmPxEKmXmv9MnntL0E5YhmO-MPshCKdBH5ssLBlS0_rJlQI7c5i647YP9e7DhXabrpzqK8iGbY2wKa3QIwsre3eatp5iMOfd_PsXwGvJ1IhHit32gKkKV5zhPuHgY8wPYQV17JE811LaEA.webp)
#2 Merge DataFrame dengan left join
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/666f0ea16fccf7d29a87edec_AD_4nXeefbM2YYJn9JYP1P-vYdRDRol3P-8npQJCk374yhtVvegJPI5Mbk-w5D3TWqceGt0EIs0QFqYPM36iPlG5OFMK6xDeYxiieTg-3vweQ9TAZVLpoq51Dsh8hcGSFbFMcYfLCKcoKWmkwTtIQVPEOMpqrcjj.webp)
Left join menggabungkan baris dari dua DataFrame berdasarkan key yang cocok, tetapi hasilnya akan menyertakan semua baris dari DataFrame kiri (first DataFrame yang ditulis dalam kode). Sementara baris dari DataFrame kanan hanya akan ditampilkan jika terdapat key value yang cocok.
Untuk menggunakan left join pada DataFrame yang sama seperti contoh pertama, gunakan fungsi merge() dengan parameter how='left'.
Contoh menggunakan left join:
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/666f0ea1b8d61ebc96eb2ffe_AD_4nXcxG0sb9dYuA90fAOaR3f2Pr4Ndzr48d_NnPV0cL-jI_Wkjl4yZRTZtvirQ-0niCtqF4OfB7kceKapBAbOA84ZQQ278Ufm9-nepKtGcPIfs9GbmB4RkKh0E11mHGAViwjqHYJ9-Qm37e8YIHzsqJcISelA.webp)
#3 Merge DataFrame dengan outer join
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/666f0ea156a6138ae4c20916_AD_4nXcbmlsgp2b3_K98Kxb9ftdHaKfqXejYUMrl-OtLginKypHx5m6AsgaTrnVv-qKO3QnQK9WMt_RWwN0m81ZJdLA5W3DwRMdIVfWrBIqr6DRJKb52qoGEDOr_L-Es7qqyPvgt96YUj2Fa__2shLSWDqXnXgA.webp)
Outer join menghasilkan gabungan semua baris dari kedua DataFrame, baik yang memiliki key yang cocok maupun tidak. Jika tidak ada nilai yang cocok, akan ditampilkan nilai NaN pada kolom yang relevan.
Untuk menggunakan outer join pada DataFrame yang sama seperti contoh pertama, gunakan fungsi merge() dengan parameter how='outer'.
Contoh menggunakan outer join:
Output:
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/666f0ea10fc3176ecb13c180_AD_4nXdJWFqrurR6t4pzga76DAoCptsY4Kj4RzqwBhXXs_PXhM-7HZFnH9k8yM5wmkOWOb_fWuaikpKeHdsVSQmuXNwc-j_EXf2JZFw_bP4JoiMMy0vUV_rgiRduU1uQAI_Die_0xfhmt3m25pnSZiVr-bQw6pf7.webp)
FAQs (Frequently Asked Questions)
Apa itu parameter on dalam fungsi merge Pandas?
Parameter on dalam fungsi merge pada Pandas digunakan untuk menentukan nama kolom yang akan dijadikan sebagai key penggabungan antara dua DataFrame.
Kolom ini harus terdapat di kedua DataFrame yang ingin digabung. Jika kamu menggunakan parameter on, Pandas akan mencari kolom dengan nama yang sama di kedua DataFrame tersebut, lalu menggabungkan baris berdasarkan nilai yang cocok dalam kolom itu.
Bagaimana cara menggabungkan DataFrame yang tidak memiliki kolom kunci yang sama?
Jika dua DataFrame yang ingin kamu gabungkan tidak memiliki kolom key yang sama, kamu dapat menggunakan parameter left_on dan right_on dalam fungsi merge() dari Pandas.
Parameter ini memungkinkan kamu untuk menentukan kolom yang berbeda dari masing-masing DataFrame sebagai kunci penggabungan.
Berikut cara menggunakan left_on dan right_on untuk menggabungkan DataFrame:
- Tentukan kolom key berbeda pada masing-masing DataFrame yang ingin digabungkan.
- Gunakan merge() dengan menyebutkan left_on dan right_on untuk menggabungkan kedua DataFrame tersebut berdasarkan kolom key yang berbeda.
Bagaimana meng-handle duplikasi kolom setelah merge?
Menghadapi duplikasi kolom setelah melakukan penggabungan (merge) menggunakan Pandas adalah situasi umum, terutama jika kedua DataFrame yang digabungkan memiliki kolom dengan nama yang sama, tetapi tidak dijadikan sebagai merge key.
Untuk mengatasi hal ini, kamu dapat menggunakan beberapa metode berikut:
- Menggunakan parameter suffixes: parameter suffixes dalam fungsi merge() memungkinkan kamu menentukan sufiks yang akan ditambahkan ke nama kolom yang duplikat dari kedua DataFrame. Ini membantu membedakan kolom asal dari masing-masing DataFrame.
- Membuang atau mengganti nama kolom sebelum merge: jika kamu tidak memerlukan salah satu kolom yang duplikat atau ingin menghindari kebingungan, kamu bisa membuang atau mengganti nama kolom tersebut sebelum melakukan merge.
- Selektif dalam memilih kolom untuk merge: kamu juga bisa memilih hanya kolom-kolom tertentu yang ingin digabungkan dari kedua DataFrame, sehingga menghindari masalah duplikasi dari awal.
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/62bbfbb189b700fc937e2e70_Logo-RevoU-5.png)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Artikel Lainnya
![](https://cdn.prod.website-files.com/61af164800e38cf1b6c60b55/666f0ee71b86d3d193d14ec1_merge_data_pandas-removebg-preview.webp)