logo

Hvordan kombinere to datarammer i Python - Pandas

Pandaer

Pandas er et innebygd bibliotek i Python som brukes til å arbeide med relasjonsdata i programmeringsspråket Python. Den har mange funksjoner og datastrukturer som hjelper til med driften av relasjonsdata.

Hvis dataene er lagret i form av rader og kolonner eller todimensjonale data kalles vanligvis datarammer i pandaer.

Hvis vi har to datarammer, kan vi ved hjelp av pandaer kombinere dem eller slå dem sammen til en enkelt dataramme. Pandaer gir den angitte logikken for å kombinere dataene til to forskjellige datarammer, samt logikk for å sammenligne dem.

1. Bruke concat() funksjonen

I python kan vi sammenkoble de to datarammene ved hjelp av concat()-funksjonen til Pandas. Vi kan sette sammen dataene enten radvis eller kolonnevis. Denne funksjonen slår sammen dataene på en akse (rad eller kolonne) og utfører innstillingslogikken på en annen akse (en annen 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) 

Produksjon:

Hvordan kombinere to datarammer i Python - Pandas

Forklaring:

I koden ovenfor har vi først importert Pandas-biblioteket i filen. Deretter opprettet vi de to datarammene der hver dataramme inneholder tre kolonner og fire rader. Deretter brukte vi concat-funksjonen, som setter sammen disse to datarammene radvis, og med display-funksjonen printet vi denne på skjermen.

2. Bruke joins i pandaer

Vi har forstått begrepet sammenføyninger i databasen der vi sammenføyer de to tabellene basert på noen felles attributter. Den samme metoden er anvendelig i sammenkobling av datarammer. I den enkle concat()-metoden slo vi sammen alle radene på hverandre og opprettet den nye datarammen. I sammenføyningen definerer vi hvilken type sammenføyning vi ønsker å utføre på bordet, enten det er en indre skjøt eller en ytre skjøt. Uansett hvilken type sammenføyning, enten indre sammenføyning (kryss) eller ytre sammenføyning (union), vil bli definert i sammenføyningsattributtet.

Eksempel:

mvc for 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) 

Produksjon:

Hvordan kombinere to datarammer i Python - Pandas

Forklaring:

I koden ovenfor har vi to daraframes som begge inneholder to kolonner og fire rader. Begge datarammene har forskjellige kolonnenavn, og i concat()-funksjonen har vi brukt inner join, som tar skjæringsdelen.

I akseattributtet har vi initialisert verdi én, så vi fikk hele dataen.

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) 

Produksjon:

fang og prøv java
Hvordan kombinere to datarammer i Python - Pandas

Siden det ikke er noen felles attributt og den indre sammenføyningen ble brukt, fikk vi en tom dataramme som utdata. Hvis det er et felles attributt i begge datarammene:

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) 

Produksjon:

Hvordan kombinere to datarammer i Python - Pandas

Forklaring:

I koden ovenfor har vi ett attributt, 'id', som er vanlig, så datarammen lages kun basert på vanlige attributter.

3. Bruke append()-metoden

I stedet for concat()-metoden kan vi bruke append()-metoden. Denne append()-metoden brukes på en av datarammene.

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) 

Produksjon:

Hvordan kombinere to datarammer i Python - Pandas

Forklaring:

I koden ovenfor har vi slått sammen to datarammer ved å bruke append-metoden.