4 Jenis DataFrame Bergabung Ditawarkan oleh Perpustakaan panda Python

Sebagai seorang analis data, Anda akan sering menghadapi kebutuhan untuk menggabungkan beberapa kumpulan data. Anda harus melakukan ini untuk menyelesaikan analisis Anda dan sampai pada kesimpulan untuk bisnis/pemangku kepentingan Anda.

Seringkali sulit untuk merepresentasikan data saat disimpan di tabel yang berbeda. Dalam keadaan seperti itu, bergabung membuktikan nilainya, terlepas dari bahasa pemrograman yang sedang Anda kerjakan.

Gabungan Python seperti gabungan SQL: mereka menggabungkan kumpulan data dengan mencocokkan baris mereka pada indeks umum.

Buat Dua DataFrames untuk Referensi

Untuk mengikuti contoh dalam panduan ini, Anda dapat membuat dua contoh DataFrames. Gunakan kode berikut untuk membuat DataFrame pertama, yang berisi ID, nama depan, dan nama belakang.

import pandas as pd

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber"]})
print(a)

Untuk langkah pertama, impor panda Perpustakaan. Anda kemudian dapat menggunakan variabel, sebuah, untuk menyimpan hasil dari konstruktor DataFrame. Berikan konstruktor kamus yang berisi nilai yang Anda butuhkan.

Terakhir, tampilkan konten nilai DataFrame dengan fungsi print, untuk memeriksa semuanya terlihat seperti yang Anda harapkan.

Demikian pula, Anda dapat membuat DataFrame lain, byang berisi ID dan nilai gaji.

b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(b)

Anda dapat memeriksa output di konsol atau IDE. Itu harus mengkonfirmasi konten DataFrames Anda:

See also  7 Kerangka Kerja Terbaik untuk Integrasi dan Pengujian Unit dengan Python

Bagaimana Penggabungan Berbeda dari Fungsi Gabung dengan Python?

Pustaka pandas adalah salah satu pustaka utama yang dapat Anda gunakan untuk memanipulasi DataFrames. Karena DataFrames berisi beberapa kumpulan data, berbagai fungsi tersedia dalam Python untuk menggabungkannya.


Python menawarkan fungsi gabung dan gabung, di antara banyak fungsi lainnya, yang dapat Anda gunakan untuk menggabungkan DataFrames. Ada perbedaan mencolok antara kedua fungsi ini, yang harus Anda ingat sebelum menggunakan keduanya.

Fungsi join menggabungkan dua DataFrames berdasarkan nilai indeksnya. Fungsi gabungan menggabungkan DataFrames berdasarkan nilai indeks dan kolom.

Apa yang Perlu Anda Ketahui Tentang Bergabung dengan Python?

Sebelum membahas jenis-jenis join yang tersedia, berikut beberapa hal penting yang perlu diperhatikan:

  • Gabungan SQL adalah salah satu fungsi paling dasar dan sangat mirip dengan gabungan Python.
  • Untuk bergabung dengan DataFrames, Anda dapat menggunakan pandas.DataFrame.join() metode.
  • Gabung default melakukan gabungan kiri, sedangkan fungsi gabungan melakukan gabungan dalam.

Sintaks default untuk bergabung dengan Python adalah sebagai berikut:

DataFrame.join(other, on=None, how='left/right/inner/outer', lsuffix='', rsuffix='',
sort=False)

Panggil metode join pada DataFrame pertama dan berikan DataFrame kedua sebagai parameter pertamanya, lainnya. Argumen yang tersisa adalah:

  • padayang menamai indeks untuk bergabung, jika ada lebih dari satu.
  • bagaimanayang mendefinisikan tipe join, termasuk inner, outer, left, dan right.
  • akhiranyang mendefinisikan string sufiks kiri dari nama kolom Anda.
  • akhiranyang mendefinisikan string sufiks yang tepat dari nama kolom Anda.
  • menyortiryang adalah boolean yang menunjukkan apakah akan mengurutkan DataFrame yang dihasilkan.

Belajar Menggunakan Berbagai Jenis Gabung dengan Python

Python memiliki beberapa opsi bergabung, yang dapat Anda latih, tergantung pada kebutuhan jam. Berikut adalah jenis join:

See also  Mengapa Anda Harus Bermigrasi ke Next.js

1. Gabung Kiri

Gabung kiri menjaga nilai DataFrame pertama tetap utuh sambil memasukkan nilai yang cocok dari yang kedua. Misalnya, jika Anda ingin memasukkan nilai yang cocok dari bAnda dapat mendefinisikannya sebagai berikut:

c = a.join(b, how="left", lsuffix = "_left", rsuffix = "_right", sort = True)
print(c)

Saat kueri dijalankan, output berisi referensi kolom berikut:

  • ID_kiri
  • Nama Fan
  • Nama
  • ID_kanan
  • Gaji

Gabung ini menarik tiga kolom pertama dari DataFrame pertama, dan dua kolom terakhir dari DataFrame kedua. Ini telah menggunakan akhiran dan akhiran nilai untuk mengganti nama kolom ID dari kedua kumpulan data, memastikan nama bidang yang dihasilkan unik.

Outputnya adalah sebagai berikut:

2. Benar Bergabung

Gabung kanan menjaga nilai DataFrame kedua tetap utuh, sambil membawa nilai yang cocok dari tabel pertama. Misalnya, jika Anda ingin memasukkan nilai yang cocok dari sebuahAnda dapat mendefinisikannya sebagai berikut:

c = b.join(a, how="right", lsuffix = "_right", rsuffix = "_left", sort = True)
print(c)

Outputnya adalah sebagai berikut:

Jika Anda meninjau kode, ada beberapa perubahan nyata. Misalnya, hasilnya menyertakan kolom DataFrame kedua sebelum kolom dari DataFrame pertama.

Anda harus menggunakan nilai Baik Untuk bagaimana argumen untuk menentukan hak bergabung. Juga, perhatikan bagaimana Anda dapat mengganti akhiran dan akhiran nilai-nilai untuk mencerminkan sifat hak bergabung.

Dalam gabungan reguler Anda, Anda mungkin lebih sering menggunakan gabungan kiri, dalam, dan luar, dibandingkan dengan gabungan kanan. Namun, penggunaannya sepenuhnya bergantung pada kebutuhan data Anda.

3. Gabung Dalam

Gabung dalam memberikan entri yang cocok dari kedua DataFrames. Karena gabungan menggunakan nomor indeks untuk mencocokkan baris, gabungan dalam hanya mengembalikan baris yang cocok. Untuk ilustrasi ini, mari gunakan dua DataFrame berikut:

See also  5 Cara Mendapatkan Movie dan Musik Free of charge Dari Perpustakaan Lokal Anda

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005", "006", "007"],
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber", "Hooper", "Hope"]})
b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(a)
print(b)

Outputnya adalah sebagai berikut:

Anda dapat menggunakan gabungan dalam, sebagai berikut:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='inner')
print(c)

Output yang dihasilkan hanya berisi baris yang ada di kedua input DataFrames:

4. Gabung Luar

Gabung luar mengembalikan semua nilai dari kedua DataFrames. Untuk baris tanpa nilai yang cocok, ini menghasilkan nilai nol pada sel individual.

Menggunakan DataFrame yang sama seperti di atas, berikut kode untuk gabungan luar:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='outer')
print(c)

Menggunakan Gabung di Python

Bergabung, seperti fungsi mitranya, gabungkan dan gabungkan, menawarkan lebih dari sekadar fungsi gabung sederhana. Mengingat rangkaian opsi dan fungsinya, Anda dapat memilih opsi yang memenuhi kebutuhan Anda.

Anda dapat mengurutkan kumpulan data yang dihasilkan dengan relatif mudah, dengan atau tanpa fungsi gabung, dengan opsi fleksibel yang ditawarkan Python.