4 Jenis Gabungan DataFrame Ditawarkan oleh Perpustakaan panda Python

4 Jenis Gabungan DataFrame Ditawarkan oleh Perpustakaan panda Python

Sebagai penganalisis data, anda sering menghadapi keperluan untuk menggabungkan berbilang set data. Anda perlu melakukan ini untuk melengkapkan analisis anda dan membuat kesimpulan untuk perniagaan/pihak berkepentingan anda.





Selalunya mencabar untuk mewakili data apabila ia disimpan dalam jadual yang berbeza. Dalam keadaan sedemikian, penyertaan membuktikan nilai mereka, tanpa mengira bahasa pengaturcaraan yang anda sedang usahakan.





MAKEUSEOF VIDEO OF THE DAY

Gabungan Python adalah seperti gabungan SQL: mereka menggabungkan set data dengan memadankan baris mereka pada indeks biasa.





Cipta Dua DataFrames untuk Rujukan

Untuk mengikuti contoh dalam panduan ini, anda boleh membuat dua sampel DataFrames. Gunakan kod berikut untuk mencipta DataFrame pertama, yang mengandungi ID, nama pertama dan nama keluarga.

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, import panda perpustakaan. Anda kemudian boleh menggunakan pembolehubah, a , untuk menyimpan hasil daripada pembina DataFrame. Lulus pembina kamus yang mengandungi nilai yang anda perlukan.



Akhir sekali, paparkan kandungan nilai DataFrame dengan fungsi cetakan, untuk menyemak semuanya kelihatan seperti yang anda jangkakan.

Begitu juga, anda boleh membuat satu lagi DataFrame, b , yang mengandungi ID dan nilai gaji.





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

print(b)

Anda boleh menyemak output dalam konsol atau IDE. Ia harus mengesahkan kandungan DataFrames anda:

Bagaimanakah Gabungan Berbeza Daripada Fungsi Gabungan dalam Python?

Perpustakaan panda ialah salah satu perpustakaan utama yang boleh anda gunakan untuk memanipulasi DataFrames. Memandangkan DataFrames mengandungi berbilang set data, pelbagai fungsi tersedia dalam Python untuk menyertainya.





Python menawarkan fungsi cantum dan cantum, antara lain, yang boleh anda gunakan untuk menggabungkan DataFrames. Terdapat perbezaan yang ketara antara kedua-dua fungsi ini, yang anda mesti ingat sebelum menggunakan kedua-duanya.

hantarkan e-mel dari pandangan ke gmail

Fungsi join bergabung dengan dua DataFrames berdasarkan nilai indeksnya. The fungsi gabungan menggabungkan DataFrames berdasarkan nilai indeks dan lajur.

Apa yang Anda Perlu Tahu Mengenai Gabungan dalam Python?

Sebelum membincangkan jenis gabungan yang tersedia, berikut adalah beberapa perkara penting yang perlu diberi perhatian:

cara membuat emoji di iphone
  • Sambungan SQL adalah salah satu fungsi yang paling asas dan agak serupa dengan gabungan Python.
  • Untuk menyertai DataFrames, anda boleh menggunakan panda.DataFrame.join() kaedah.
  • Cantuman lalai melakukan cantuman kiri, manakala fungsi cantuman melakukan cantuman dalaman.

Sintaks lalai untuk gabungan Python adalah seperti berikut:

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

Guna kaedah gabungan pada DataFrame pertama dan lulus DataFrame kedua sebagai parameter pertamanya, lain . Hujah yang selebihnya ialah:

  • pada , yang menamakan indeks untuk disertai, jika terdapat lebih daripada satu.
  • bagaimana , yang mentakrifkan jenis cantuman, termasuk dalam, luar, kiri dan kanan.
  • akhiran , yang mentakrifkan rentetan akhiran kiri nama lajur anda.
  • rsuffix , yang mentakrifkan rentetan akhiran yang betul bagi nama lajur anda.
  • menyusun , yang ialah boolean yang menunjukkan sama ada hendak mengisih DataFrame yang terhasil.

Belajar Menggunakan Pelbagai Jenis Gabungan dalam Python

Python mempunyai beberapa pilihan gabungan, yang boleh anda latih, bergantung pada keperluan masa itu. Berikut ialah jenis gabungan:

1. Sertai Kiri

Gabungan kiri mengekalkan nilai DataFrame yang pertama sambil membawa masuk nilai yang sepadan daripada yang kedua. Sebagai contoh, jika anda ingin membawa masuk nilai yang sepadan daripada b , anda boleh mentakrifkannya seperti berikut:

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

Apabila pertanyaan dilaksanakan, output mengandungi rujukan lajur berikut:

  • ID_left
  • Fname
  • Lname
  • ID_kanan
  • Gaji

Gabungan ini menarik tiga lajur pertama daripada DataFrame pertama dan dua lajur terakhir daripada DataFrame kedua. Ia telah menggunakan akhiran dan rsuffix nilai untuk menamakan semula lajur ID daripada kedua-dua set data, memastikan nama medan yang terhasil adalah unik.

Outputnya adalah seperti berikut:

  Kod yang menunjukkan gabungan kiri dalam Python's dataframes

2. Kanan Sertai

Cantuman kanan memastikan nilai DataFrame kedua tetap utuh, sambil membawa masuk nilai yang sepadan dari jadual pertama. Sebagai contoh, jika anda ingin membawa masuk nilai yang sepadan daripada a , anda boleh mentakrifkannya seperti berikut:

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

Outputnya adalah seperti berikut:

  Kod yang menunjukkan gabungan kanan dalam Python's dataframes

Jika anda menyemak kod tersebut, terdapat beberapa perubahan yang jelas. Sebagai contoh, hasilnya termasuk lajur DataFrame kedua sebelum lajur dari DataFrame pertama.

Anda harus menggunakan nilai betul untuk bagaimana hujah untuk menentukan gabungan kanan. Juga, perhatikan cara anda boleh menukar akhiran dan rsuffix nilai untuk mencerminkan sifat gabungan yang betul.

Dalam sambung biasa anda, anda mungkin mendapati diri anda menggunakan sambung kiri, dalam dan luar dengan lebih kerap, berbanding dengan sambung kanan. Walau bagaimanapun, penggunaan bergantung sepenuhnya pada keperluan data anda.

3. Inner Join

Gabungan dalaman menghantar masukan yang sepadan daripada kedua-dua DataFrames. Memandangkan gabungan menggunakan nombor indeks untuk memadankan baris, gabungan dalam hanya mengembalikan baris yang sepadan. Untuk ilustrasi ini, mari gunakan dua DataFrames berikut:

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 seperti berikut:

  Cipta bingkai data baharu dalam Python

Anda boleh menggunakan gabungan dalaman, seperti berikut:

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

Output yang terhasil mengandungi hanya baris yang wujud dalam kedua-dua input DataFrames:

tetingkap ram yang boleh digunakan 7 32 bit
  Kod yang menunjukkan gabungan dalaman dalam Python's dataframes

4. Sambungan Luar

Gabungan luar mengembalikan semua nilai daripada kedua-dua DataFrames. Untuk baris tanpa nilai yang sepadan, ia menghasilkan nilai nol pada sel individu.

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

c = a.join(b, lsuffix="_left", rsuffix="_right", how='outer') 
print(c)
  Kod yang menunjukkan gabungan luar dalam Python's dataframes

Menggunakan Joins dalam Python

Cantuman, seperti fungsi rakan sejawatannya, cantum dan concat, menawarkan lebih daripada fungsi cantum yang mudah. Memandangkan siri pilihan dan fungsinya, anda boleh memilih pilihan yang memenuhi keperluan anda.

Anda boleh mengisih set data yang terhasil dengan agak mudah, dengan atau tanpa fungsi gabungan, dengan pilihan fleksibel yang ditawarkan Python.