Pandas sapludināt () tiek definēts kā process, kurā divas datu kopas tiek apvienotas vienā un rindu izlīdzināšana, pamatojoties uz kopējiem atribūtiem vai kolonnām. Tas ir ieejas punkts visām standarta datu bāzes savienošanas darbībām starp DataFrame objektiem:
Sintakse:
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True)
Parametri:
- “one_to_one” vai “1:1”: tiek pārbaudīts, vai sapludināšanas atslēgas ir unikālas gan kreisajā, gan labajā datu kopā.
- 'one_to_many' vai '1:m': tā pārbauda, vai sapludināšanas atslēgas ir unikālas tikai kreisajā datu kopā.
- 'many_to_one' vai 'm:1': tā pārbauda, vai sapludināšanas atslēgas ir unikālas tikai pareizajā datu kopā.
- 'many_to_many' vai 'm:m': tas ir atļauts, bet neveicina pārbaudes.
Tas ir objekts, kas saplūst ar DataFrame.
Veicamā sapludināšanas veids.
Tie ir kolonnas vai indeksa līmeņa nosaukumi, kuriem pievienoties. Tas ir jāatrod gan kreisajā, gan labajā DataFrames. Ja ieslēgts ir None un netiek sapludināts indeksos, tad pēc noklusējuma tiek iestatīta kolonnu krustpunkts abos DataFrames.
left_on: etiķete vai saraksts, vai masīvs
Tie ir kolonnas vai indeksa līmeņa nosaukumi no kreisās puses DataFrame, ko izmantot kā atslēgu. Tas var būt masīvs, kura garums ir vienāds ar DataFrame garumu.
Tie ir kolonnu vai indeksa līmeņa nosaukumi no labās puses DataFrame, ko izmantot kā atslēgas. Tas var būt masīvs, kura garums ir vienāds ar DataFrame garumu.
Tas izmanto indeksu no kreisās puses DataFrame kā savienojuma atslēgu(-as), ja taisnība. MultiIndex (hierarhiskā) gadījumā daudzām atslēgām citā DataFrame (indeksā vai dažās kolonnās) ir jāatbilst līmeņu skaitam.
Tas izmanto indeksu no labās puses DataFrame kā savienojuma atslēgu. Tam ir tāds pats lietojums kā left_index.
Ja True, tas sakārto savienojuma atslēgas leksikogrāfiskā secībā rezultātā DataFrame. Pretējā gadījumā savienojuma atslēgu secība ir atkarīga no savienojuma veida (kā atslēgvārda).
Tas tiek lietots ar sufiksiem, lai pārklātu kolonnu nosaukumus attiecīgi kreisajā un labajā DataFrame. Slejās tiek izmantotas vērtības (False, False), lai radītu izņēmumu pārklāšanās gadījumā.
Ja True, tas atgriež DataFrame kopiju.
Pretējā gadījumā tas var izvairīties no kopijas.
Ja True, tas pievieno kolonnu, lai izvadītu DataFrame ' _apvienot ' ar informāciju par katras rindas avotu. Ja tā ir virkne, izvadei DataFrame tiks pievienota kolonna ar informāciju par katras rindas avotu, un kolonna tiks nosaukta par virknes vērtību. Informācijas kolonna ir definēta kā kategorisks veids, un tās vērtība ir šāda:
Ja tas ir norādīts, tas pārbauda tālāk norādīto sapludināšanas veidu:
1. piemērs: sapludiniet divus DataFrame uz atslēgas
# 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)
Izvade
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. piemērs. Apvienojiet divus DataFrame vairākās atslēgās:
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')
Izvade
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