logo

Hoe twee dataframes te combineren in Python - Panda's

Panda's

Pandas is een ingebouwde bibliotheek in Python die wordt gebruikt om met relationele gegevens in de programmeertaal Python te werken. Het heeft veel functies en datastructuren die helpen bij de werking van relationele gegevens.

Als de gegevens worden opgeslagen in de vorm van rijen en kolommen of tweedimensionale gegevens, worden ze in panda's doorgaans dataframes genoemd.

Als we twee dataframes hebben, kunnen we ze met behulp van panda's combineren of samenvoegen tot één dataframe. Panda's bieden de vaste logica om de gegevens van twee verschillende dataframes te combineren, evenals de logica om ze te vergelijken.

1. De functie concat() gebruiken

In Python kunnen we de twee dataframes aaneenschakelen met behulp van de concat() functie van Pandas. We kunnen de gegevens rijsgewijs of kolomsgewijs samenvoegen. Deze functie voegt de gegevens op één as (rij of kolom) samen en voert de ingestelde logica uit op een andere as (een andere index).

Voorbeeld:

 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) 

Uitgang:

Hoe twee dataframes te combineren in Python - Panda's

Uitleg:

In de bovenstaande code hebben we eerst de Pandas-bibliotheek in het bestand geïmporteerd. Vervolgens hebben we de twee dataframes gemaakt, waarbij elk dataframe drie kolommen en vier rijen bevat. Vervolgens hebben we de concat-functie gebruikt, die deze twee dataframes rijsgewijs aaneenschakelt, en met de weergavefunctie hebben we dit op het scherm afgedrukt.

2. Het gebruik van joins in panda's

We hebben het concept van joins in de database begrepen, waarbij we de twee tabellen samenvoegen op basis van een gemeenschappelijk kenmerk. Dezelfde methode is toepasbaar bij de aaneenschakeling van dataframes. In de eenvoudige concat()-methode hebben we alle rijen samengevoegd en het nieuwe dataframe gemaakt. In de join definiëren we welk type join we op de tafel willen uitvoeren, of het nu een inner join of een outside join is. Welk type verbinding ook, inner join (intersection) of outside join (union), zal worden gedefinieerd in het join-attribuut.

Voorbeeld:

hoe csv-bestand in java te lezen
 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) 

Uitgang:

Hoe twee dataframes te combineren in Python - Panda's

Uitleg:

In de bovenstaande code hebben we twee daraframes die beide twee kolommen en vier rijen bevatten. Beide dataframes hebben verschillende kolomnamen, en in de functie concat() hebben we de inner join gebruikt, die het snijgedeelte overneemt.

In het as-attribuut hebben we waarde één geïnitialiseerd, dus we hebben de volledige gegevens.

Voorbeeld:

 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) 

Uitgang:

1 miljoen hoeveel 0
Hoe twee dataframes te combineren in Python - Panda's

Omdat er geen gemeenschappelijk attribuut is en de inner join is toegepast, kregen we een leeg dataframe als uitvoer. Als er een gemeenschappelijk attribuut in beide dataframes aanwezig is:

Voorbeeld:

 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) 

Uitgang:

Hoe twee dataframes te combineren in Python - Panda's

Uitleg:

In de bovenstaande code hebben we één attribuut, 'id', dat gebruikelijk is, dus het dataframe wordt gemaakt op basis van alleen gemeenschappelijke attributen.

3. Gebruik de append()-methode

In plaats van de methode concat() kunnen we de methode append() gebruiken. Deze append()-methode wordt toegepast op een van de dataframes.

Voorbeeld:

 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) 

Uitgang:

Hoe twee dataframes te combineren in Python - Panda's

Uitleg:

In de bovenstaande code hebben we twee dataframes samengevoegd met behulp van de append-methode.