logo

Sådan kombineres to dataframes i Python - Pandas

Pandaer

Pandas er et indbygget bibliotek i Python, som bruges til at arbejde med relationelle data i Python-programmeringssproget. Det har en masse funktioner og datastrukturer, som hjælper med driften af ​​relationelle data.

Hvis dataene er lagret i form af rækker og kolonner eller todimensionelle data, kaldes det generelt datarammer i pandaer.

Hvis vi har to datarammer, så kan vi ved hjælp af pandaer kombinere dem eller flette dem til en enkelt dataramme. Pandaer giver den indstillede logik til at kombinere dataene fra to forskellige datarammer samt logik til at sammenligne dem.

1. Brug af concat() funktion

I python kan vi sammenkæde de to datarammer ved hjælp af funktionen concat() af Pandas. Vi kan sammenkæde dataene enten rækkevis eller kolonnevis. Denne funktion fletter dataene på én akse (række eller kolonne) og udfører den indstillede logik på en anden akse (et andet indeks).

Eksempel:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI'], 'Marks':[65,69,96,89]}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL'], 'Marks':[56,96,69,98]}) frames = [dataFrame1, dataFrame2] result = pd.concat(frames) display(result) 

Produktion:

Sådan kombineres to dataframes i Python - Pandas

Forklaring:

I ovenstående kode har vi først importeret Pandas-biblioteket i filen. Derefter oprettede vi de to datarammer, hvor hver dataramme indeholder tre kolonner og fire rækker. Derefter brugte vi concat-funktionen, som sammenkæder disse to datarammer rækkevis, og med display-funktionen printede vi dette på skærmen.

2. Brug joins i pandaer

Vi har forstået begrebet joins i databasen, hvor vi forbinder de to tabeller ud fra en fælles egenskab. Den samme metode er anvendelig ved sammenkædning af datarammer. I den simple concat()-metode slog vi alle rækkerne sammen og skabte den nye dataramme. I joinningen definerer vi hvilken type join vi ønsker at udføre på bordet, om det er en indre join eller en outer join. Uanset hvilken type sammenføjning, enten indre sammenføjning (skæring) eller ydre sammenføjning (forening), vil blive defineret i sammenføjningsattributten.

Eksempel:

smide kast i java
 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=1, join='inner') display(result) 

Produktion:

Sådan kombineres to dataframes i Python - Pandas

Forklaring:

I ovenstående kode har vi to daraframes, som begge indeholder to kolonner og fire rækker. Begge dataframes har forskellige kolonnenavne, og i concat()-funktionen har vi brugt den indre join, som tager skæringsdelen.

I akse-attributten har vi initialiseret værdi et, så vi fik hele data.

Eksempel:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'],'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

Produktion:

strengformater
Sådan kombineres to dataframes i Python - Pandas

Da der ikke er nogen fælles attribut, og den indre join blev anvendt, fik vi en tom dataramme som output. Hvis der er en fælles attribut i begge datarammer:

Eksempel:

 import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result) 

Produktion:

Sådan kombineres to dataframes i Python - Pandas

Forklaring:

I ovenstående kode har vi én attribut, 'id', der er fælles, så datarammen er kun oprettet baseret på almindelige attributter.

3. Brug af append() metoden

I stedet for concat()-metoden kan vi bruge append()-metoden. Denne append() metode anvendes på en af ​​datarammerne.

Eksempel:

 import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'City': ['JAIPUR', 'MANALI', 'NOIDA', 'LUCKNOW']}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['MUMBAI', 'UDAIPUR', 'RISHIKESH', 'KASHMIR']}) # append method result = dataFrame1.append(dataFrame2) display(result) 

Produktion:

Sådan kombineres to dataframes i Python - Pandas

Forklaring:

I ovenstående kode har vi slået to datarammer sammen ved hjælp af append-metoden.