logo

Dažādi savienojuma veidi pandās

Pandas modulis satur dažādas funkcijas, lai veiktu dažādas darbības ar datu rāmjiem, piemēram, pievienošanās, savienošana, dzēšana, pievienošana utt. Šajā rakstā mēs apspriedīsim dažāda veida savienošanas darbības, kuras var veikt ar Pandas. Datu rāmis. Ir pieci pievienošanās veidi Pandas .

  • Iekšējā pievienošanās
  • Kreisais ārējais savienojums
  • Labais ārējais savienojums
  • Pilna ārējā pievienošanās vai vienkārši ārējā pievienošanās
  • Pievienoties rādītājam

Lai saprastu dažādus savienojumu veidus, mēs vispirms izveidosim divus DataFrame, proti a un b .



Datu rāmis a:

Python3








# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # printing the dataframe> a>

>

>

Izvade:

DataFrame b:

Python3




# importing pandas> import> pandas as pd> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # printing the dataframe> b>

char uz virkni java

>

>

Izvade:

Savienojumu veidi pandās

Mēs izmantosim šos divus datu rāmjus, lai izprastu dažādus savienojumu veidus.

Pandas Iekšējā pievienošanās

Iekšējais savienojums ir visizplatītākais savienojuma veids, ar kuru jūs strādāsit. Tas atgriež Dataframe tikai ar tām rindām, kurām ir kopīgas īpašības. Tas ir līdzīgs divu kopu krustpunktam.

Pandas Inner Join

Piemērs:

Python3




# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # inner join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'inner'>)> # display dataframe> df>

>

>

Izvade:

Pandas Pa kreisi pievienoties

Ar kreiso ārējo savienojumu tiks parādīti visi ieraksti no pirmā Dataframe neatkarīgi no tā, vai atslēgas pirmajā Dataframe var atrast otrajā Dataframe. Savukārt otrajam datu kadram tiks parādīti tikai tie ieraksti ar atslēgām otrajā Dataframe, kuras var atrast pirmajā Dataframe.

pa kreisi-pievienoties Piemērs:

Python3




# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # left outer join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'left'>)> # display dataframe> df>

>

>

Izvade:

Pandas Labais ārējais savienojums

Pareizai pievienošanai tiks parādīti visi ieraksti no otrā datu rāmja. Tomēr tiks parādīti tikai tie ieraksti ar atslēgām pirmajā Dataframe, kuras var atrast otrajā Dataframe.

Pandas labajā ārējā savienojumā

Piemērs:

bkoks un b koks

Python3




# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # right outer join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'right'>)> # display dataframe> df>

>

>

Izvade:

Pandas Pilna ārējā pievienošanās

Pilns ārējais savienojums atgriež visas rindas no kreisā datu rāmja un visas rindas no labā datu rāmja, un, ja iespējams, saskaņo rindas ar NaN citur. Bet, ja Dataframe ir pabeigts, mēs iegūstam tādu pašu izvadi.

Pandas Full Outer Join

Piemērs:

Python3




c virkne masīvā
# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # full outer join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'outer'>)> # display dataframe> df>

>

>

Izvade:

Pievienojies Pandas indeksam

Lai apvienotu datu rāmi indeksos, izlaidiet pa kreisi_index un labais_indekss argumentus kā True, t.i., abi datu rāmji tiek sapludināti indeksā, izmantojot noklusējuma iekšējo savienojumu.

Python3




# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # index join> df>=> pd.merge(a, b, left_index>=>True>, right_index>=>True>)> # display dataframe> df>

>

>

Izvade: