Pandalar birleştirmek() iki veri kümesinin bir araya getirilmesi ve satırların ortak niteliklere veya sütunlara göre hizalanması işlemi olarak tanımlanır. DataFrame nesneleri arasındaki tüm standart veritabanı birleştirme işlemleri için bir giriş noktasıdır:
Sözdizimi:
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True)
Parametreler:
- 'bire_bir' veya '1:1': Birleştirme anahtarlarının hem sol hem de sağ veri kümelerinde benzersiz olup olmadığını kontrol eder.
- 'one_to_many' veya '1:m': Birleştirme anahtarlarının yalnızca soldaki veri kümesinde benzersiz olup olmadığını kontrol eder.
- 'çok_to_one' veya 'm:1': Birleştirme anahtarlarının yalnızca doğru veri kümesinde benzersiz olup olmadığını kontrol eder.
- 'çok_to_çok' veya 'm:m': Buna izin verilir, ancak kontrollerle sonuçlanmaz.
DataFrame ile birleşen bir nesnedir.
Gerçekleştirilecek birleştirme türü.
Birleştirilecek bir sütun veya dizin düzeyinde adlardır. Hem sol hem de sağ DataFrames'te bulunmalıdır. Açık Yok ise ve dizinlerde birleştirilmiyorsa, bu durumda varsayılan olarak her iki DataFrames'teki sütunların kesişimi olur.
sol: etiket veya liste veya dizi benzeri
Anahtar olarak kullanılacak sol DataFrame'den sütun veya dizin düzeyindeki adlardır. DataFrame'in uzunluğuna eşit uzunlukta bir dizi olabilir.
Anahtar olarak kullanılacak sağ DataFrame'den gelen sütun veya dizin düzeyindeki adlardır. DataFrame'in uzunluğuna eşit uzunlukta bir dizi olabilir.
Eğer doğruysa, birleştirme anahtarları olarak sol DataFrame'deki dizini kullanır. MultiIndex (hiyerarşik) durumunda, diğer DataFrame'deki (dizin veya bazı sütunlar) birçok anahtarın düzey sayısıyla eşleşmesi gerekir.
Birleştirme anahtarı olarak sağ DataFrame'deki dizini kullanır. left_index ile aynı kullanıma sahiptir.
True ise, DataFrame sonucunda birleştirme anahtarlarını sözlükbilimsel sıraya göre sıralar. Aksi takdirde, birleştirme tuşlarının sırası birleştirme türüne (nasıl anahtar kelime) bağlıdır.
Sırasıyla sol ve sağ DataFrame'deki sütun adlarının üst üste gelmesi için uygulanacak son ekler. Sütunlar, çakışma konusunda bir istisna oluşturmak için (Yanlış, Yanlış) değerlerini kullanır.
True ise DataFrame'in bir kopyasını döndürür.
Aksi takdirde kopyadan kaçınılabilir.
True ise, DataFrame çıktısına bir sütun ekler. _birleştirmek ' Her satırın kaynağı hakkında bilgi içeren. Bu bir dize ise, DataFrame çıktısına her satırın kaynağı hakkında bilgi içeren bir sütun eklenecek ve sütun, bir dizenin değeri olarak adlandırılacaktır. Bilgi sütunu kategorik tip olarak tanımlanır ve şu değeri alır:
Eğer belirtilmişse aşağıda verilen birleştirme tipini kontrol eder:
Örnek1: Bir anahtarda iki DataFrame'i birleştirme
# import the pandas library import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4], 'Name': ['John', 'Parker', 'Smith', 'Parker'], 'subject_id':['sub1','sub2','sub4','sub6']}) right = pd.DataFrame({ 'id':[1,2,3,4], 'Name': ['William', 'Albert', 'Tony', 'Allen'], 'subject_id':['sub2','sub4','sub3','sub6']}) print (left) print (right)
Çıktı
id Name subject_id 0 1 John sub1 1 2 Parker sub2 2 3 Smith sub4 3 4 Parker sub6 id Name subject_id 0 1 William sub2 1 2 Albert sub4 2 3 Tony sub3 3 4 Allen sub6
Örnek2: İki DataFrame'i birden çok anahtarda birleştirme:
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')
Çıktı
id Name_x subject_id_x Name_y subject_id_y 0 1 John sub1 William sub2 1 2 Parker sub2 Albert sub4 2 3 Smith sub4 Tony sub3 3 4 Parker sub6 Allen sub6