Bagaimana Anda bergabung dengan kerangka data dengan python?

Pandas memiliki fitur lengkap, operasi gabungan dalam memori berkinerja tinggi yang secara idiomatis sangat mirip dengan database relasional seperti SQL

Pandas menyediakan satu fungsi, penggabungan, sebagai titik masuk untuk semua operasi gabungan basis data standar antara objek DataFrame −

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True)

Di sini, kami telah menggunakan parameter berikut −

  • kiri - Objek DataFrame

  • kanan - Objek DataFrame lainnya

  • on − Kolom (nama) untuk bergabung. Harus ditemukan di objek DataFrame kiri dan kanan

  • left_on − Kolom dari DataFrame kiri untuk digunakan sebagai kunci. Bisa berupa nama kolom atau array dengan panjang yang sama dengan panjang DataFrame

  • right_on − Kolom dari DataFrame kanan untuk digunakan sebagai kunci. Bisa berupa nama kolom atau array dengan panjang yang sama dengan panjang DataFrame

  • left_index − Jika True, gunakan indeks (label baris) dari DataFrame kiri sebagai kunci gabungannya. Dalam kasus DataFrame dengan MultiIndex (hierarkis), jumlah level harus sesuai dengan jumlah kunci gabungan dari DataFrame kanan

  • right_index − Penggunaan yang sama seperti left_index untuk DataFrame kanan

  • how − Salah satu dari 'kiri', 'kanan', 'luar', 'dalam'. Default ke batin. Setiap metode telah dijelaskan di bawah ini

  • sort − Urutkan hasil DataFrame dengan kunci gabungan dalam urutan leksikografis. Default ke True, pengaturan ke False akan meningkatkan kinerja secara substansial dalam banyak kasus

Mari kita buat dua DataFrames yang berbeda dan melakukan operasi penggabungan di atasnya

# import the pandas library import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame( {'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print left print right _

Outputnya adalah sebagai berikut −

Name id subject_id 0 Alex 1 sub1 1 Amy 2 sub2 2 Allen 3 sub4 3 Alice 4 sub6 4 Ayoung 5 sub5 Name id subject_id 0 Billy 1 sub2 1 Brian 2 sub4 2 Bran 3 sub3 3 Bryce 4 sub6 4 Betty 5 sub5

Menggabungkan Dua DataFrame pada Kunci

import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print pd.merge(left,right,on='id')

Outputnya adalah sebagai berikut −

Name_x id subject_id_x Name_y subject_id_y 0 Alex 1 sub1 Billy sub2 1 Amy 2 sub2 Brian sub4 2 Allen 3 sub4 Bran sub3 3 Alice 4 sub6 Bryce sub6 4 Ayoung 5 sub5 Betty sub5 _

Menggabungkan Dua DataFrame pada Beberapa Kunci

import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print pd.merge(left,right,on=['id','subject_id'])

Outputnya adalah sebagai berikut −

Name_x id subject_id Name_y 0 Alice 4 sub6 Bryce 1 Ayoung 5 sub5 Betty _

Menggabungkan Menggunakan Argumen 'bagaimana'

Argumen how untuk menggabungkan menentukan cara menentukan kunci mana yang akan disertakan dalam tabel yang dihasilkan. Jika kombinasi tombol tidak muncul di tabel kiri atau kanan, nilai di tabel gabungan akan menjadi NA

Berikut adalah ringkasan dari how options dan nama setara SQL mereka −

Gabungkan Metodesetara SQLDeskripsikiriLEFT OUTER JOINGunakan kunci dari objek kirikananRIGHT OUTER JOINGunakan kunci dari objek kananouterFULL OUTER JOINGunakan penyatuan kunci dalamINNER JOINGunakan persimpangan kunci

Gabung Kiri

import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print pd.merge(left, right, on='subject_id', how='left')

Outputnya adalah sebagai berikut −

Name_x id_x subject_id Name_y id_y 0 Alex 1 sub1 NaN NaN 1 Amy 2 sub2 Billy 1.0 2 Allen 3 sub4 Brian 2.0 3 Alice 4 sub6 Bryce 4.0 4 Ayoung 5 sub5 Betty 5.0 _

Gabung Kanan

import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print pd.merge(left, right, on='subject_id', how='right') _

Outputnya adalah sebagai berikut −

# import the pandas library import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame( {'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print left print right _0

Gabung Luar

# import the pandas library import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame( {'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print left print right _1

Outputnya adalah sebagai berikut −

# import the pandas library import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame( {'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print left print right _2

Gabungan Dalam

Bergabung akan dilakukan pada index. Bergabung operasi menghormati objek yang disebut. Jadi, sebuah. join(b) tidak sama dengan b. bergabung(a)

Bagaimana cara menggabungkan dua DataFrames dalam DataFrame?

Gunakan panda. concat() metode untuk menggabungkan dua DataFrame dengan baris yang berarti menambahkan dua DataFrame . Secara default, ini melakukan operasi penambahan yang mirip dengan gabungan yang mencerahkan semua baris dari kedua DataFrame ke satu DataFrame.

Manakah 3 cara utama untuk menggabungkan DataFrame bersama?

Menggabungkan dua DataFrame dapat dilakukan dengan berbagai cara ( kiri, kanan, dan dalam ) bergantung pada data apa yang harus ada dalam DataFrame akhir. to_csv dapat digunakan untuk menulis DataFrames dalam format CSV.

Bagaimana cara menggabungkan beberapa DataFrames dengan Python?

Fungsi pandas merge() digunakan untuk menggabungkan beberapa Dataframe. Kita bisa menggunakan salah satu panda. gabungan() atau DataFrame. merge() untuk menggabungkan beberapa Dataframe.

Bagaimana Anda menggabungkan dua tabel dengan Python?

Fungsi concat() melakukan operasi penggabungan beberapa tabel di sepanjang salah satu sumbu (baris atau kolom).

Postingan terbaru

LIHAT SEMUA