Панде споји() се дефинише као процес спајања два скупа података у један и поравнања редова на основу заједничких атрибута или колона. То је улазна тачка за све стандардне операције спајања базе података између ДатаФраме објеката:
Синтакса:
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True)
Параметри:
- 'оне_то_оне' или '1:1': Проверава да ли су кључеви за спајање јединствени у левом и десном скупу података.
- 'оне_то_мани' или '1:м': Проверава да ли су кључеви за спајање јединствени само у левом скупу података.
- 'мани_то_оне' или 'м:1': Проверава да ли су кључеви за спајање јединствени само у правом скупу података.
- 'мани_то_мани' или 'м:м': Дозвољено је, али не доводи до провера.
То је објекат који се спаја са ДатаФраме-ом.
Врста спајања које треба извршити.
То су називи нивоа колоне или индекса за придруживање. Мора се наћи у левом и десном ДатаФраме-у. Ако је укључено Ништа и не спаја се на индексе, онда је ово подразумевано на пресеку колона у оба оквира података.
отишао: ознака или листа, или налик низу
То су називи нивоа колоне или индекса из левог оквира података који се користе као кључ. То може бити низ чија је дужина једнака дужини ДатаФраме-а.
То су називи нивоа колоне или индекса из десног оквира података који се користе као кључеви. То може бити низ чија је дужина једнака дужини ДатаФраме-а.
Користи индекс из левог оквира података као кључ(ове) за спајање, ако је тачно. У случају МултиИндек-а (хијерархијски), многи кључеви у другом ДатаФраме-у (било индекс или неке колоне) треба да одговарају броју нивоа.
Користи индекс из десног оквира података као спојни кључ. Има исту употребу као леви_индекс.
Ако је тачно, сортира спојене кључеве по лексикографском редоследу у резултатском ДатаФраме-у. Иначе, редослед спојних кључева зависи од типа спајања (како кључна реч).
Суфикси за примену за преклапање имена колона у левом и десном ДатаФраме-у, респективно. Колоне користе (Фалсе, Фалсе) вредности за подизање изузетка при преклапању.
Ако је тачно, враћа копију ДатаФраме-а.
У супротном, може избећи копију.
Ако је тачно, додаје колону за излаз ДатаФраме ' _мерге ' са информацијама о извору сваког реда. Ако је то стринг, колона са информацијама о извору сваког реда биће додата излазном ДатаФраме-у, а колона ће бити именована као вредност стринга. Колона са информацијама је дефинисана као категорички тип и има вредност:
Ако је наведено, проверава тип спајања који је дат у наставку:
Пример 1: Спојите два оквира података на кључу
# 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)
Излаз
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
Пример 2: Спојите два оквира података на више кључева:
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')
Излаз
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