Leer hoe u dataframes samenvoegt in Python

Leer hoe u dataframes samenvoegt in Python

Als je Python gebruikt, zelfs voor de eenvoudigste taken, ben je je waarschijnlijk bewust van het belang van de bibliotheken van derden. De Pandas-bibliotheek, met zijn uitstekende ondersteuning voor DataFrames, is zo'n bibliotheek.





U kunt meerdere soorten bestanden importeren in Python DataFrames en verschillende versies maken om verschillende datasets op te slaan. Nadat u uw gegevens hebt geïmporteerd met DataFrames, kunt u ze samenvoegen om gedetailleerde analyses uit te voeren.





De basis aanpakken

Voordat u begint met samenvoegen, moet u DataFrames hebben om samen te voegen. Voor ontwikkelingsdoeleinden kunt u enkele dummy-gegevens maken om mee te experimenteren.





Maak de DataFrames in Python

Importeer als eerste stap de Pandas-bibliotheek in uw Python-bestand. Pandas is een bibliotheek van derden die DataFrames in Python afhandelt. U kunt de importeren instructie om de bibliotheek als volgt te gebruiken:

import pandas as pd

U kunt een alias toewijzen aan de bibliotheeknaam om uw codeverwijzingen in te korten.



hoe terug te scrollen naar het eerste bericht op de iphone

U moet woordenboeken maken, die u kunt converteren naar DataFrames. Maak voor de beste resultaten twee woordenboekvariabelen: dict1 en dict2— om specifieke stukjes informatie op te slaan:

dict1 = {"user_id": ["001", "002", "003", "004", "005"], 
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}

dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}

Onthoud dat u een gemeenschappelijk element in beide woordenboekwaarden moet hebben om later als primaire sleutel te dienen voor het combineren van uw DataFrames.





Converteer uw woordenboeken naar dataframes

Om uw woordenboekwaarden om te zetten in DataFrames, kunt u de volgende methode gebruiken:

df1 = pd.DataFrame(dict1) 
df2 = pd.DataFrame(dict2)

Bij sommige IDE's kunt u de waarden in het DataFrame controleren door te verwijzen naar de DataFrame-functie en op . te drukken Uitvoeren/Uitvoeren . Er zijn veel Python-compatibele IDE's , zodat u degene kunt kiezen die voor u het gemakkelijkst te leren is.





  Jupyter Notebook-codefragment

Zodra u tevreden bent met de inhoud van uw DataFrames, kunt u doorgaan naar de samenvoegingsstap.

Frames combineren met de samenvoegfunctie

De samenvoegfunctie is de eerste Python-functie die u kunt gebruiken om twee DataFrames te combineren. Deze functie heeft de volgende standaardargumenten:

pd.merge(DataFrame1, DataFrame2, how= type of merge)

Waar:

  • pd is een alias voor de Pandas-bibliotheek.
  • samenvoegen is de functie die DataFrames samenvoegt.
  • DataFrame1 en DataFrame2 zijn de twee DataFrames die moeten worden samengevoegd.
  • hoe definieert het samenvoegtype.

Er zijn enkele extra optionele argumenten beschikbaar die u kunt gebruiken als u een complexe datastructuur heeft.

U kunt verschillende waarden gebruiken voor de how-parameter om het type samenvoeging te definiëren dat moet worden uitgevoerd. Dit soort samenvoegingen zullen bekend voorkomen als je gebruikte SQL om databasetabellen samen te voegen .

Links samenvoegen

Het linker samenvoegtype houdt de waarden van het eerste DataFrame intact en haalt de overeenkomende waarden uit het tweede DataFrame.

  Jupyter Notebook-codefragment

Rechts samenvoegen

Het juiste samenvoegtype houdt de waarden van het tweede DataFrame intact en haalt de overeenkomende waarden uit het eerste DataFrame.

  Jupyter Notebook-codefragment

Innerlijke samenvoeging

Het innerlijke samenvoegingstype behoudt de overeenkomende waarden van beide DataFrames en verwijdert niet-overeenkomende waarden.

  Jupyter Notebook-codefragment

buitenste samenvoeging

Het buitenste samenvoegtype behoudt alle overeenkomende en niet-overeenkomende waarden en consolideert de DataFrames samen.

hoe een video van een website te rippen
  Jupyter Notebook-codefragment

Hoe de Concat-functie te gebruiken

De samenvoegen functie is een flexibele optie in vergelijking met sommige andere samenvoegfuncties van Python. Met de concat-functie kunt u DataFrames verticaal en horizontaal combineren.

Het nadeel van het gebruik van deze functie is echter dat alle niet-overeenkomende waarden standaard worden genegeerd. Net als sommige andere gerelateerde functies, heeft deze functie een paar argumenten, waarvan er slechts enkele essentieel zijn voor een succesvolle aaneenschakeling.

concat(dataframes, axis=0, join='outer'/inner)

Waar:

  • samenvoegen is de functie die zich bij DataFrames voegt.
  • dataframes is een reeks DataFrames om samen te voegen.
  • as vertegenwoordigt de richting van aaneenschakeling, 0 is horizontaal, 1 is verticaal.
  • meedoen specificeert een outer of inner join.

Met behulp van de bovenstaande twee DataFrames kunt u de concat-functie als volgt uitproberen:

# define the dataframes in a list format 
df_merged_concat = pd.concat([df1, df2])

# print the results of the Concat function
print(df_merged_concat)

De afwezigheid van de as- en join-argumenten in de bovenstaande code combineert de twee gegevenssets. De resulterende uitvoer heeft alle vermeldingen, ongeacht de matchstatus.

Op dezelfde manier kunt u aanvullende argumenten gebruiken om de richting en uitvoer van de concat-functie te bepalen.

Om de uitvoer met alle overeenkomende vermeldingen te regelen:

# Concatenating all matching values between the two dataframes based on their columns 
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')

print(df_merged_concat)

Het resultaat bevat alleen alle overeenkomende waarden tussen de twee DataFrames.

  Jupyter Notebook-codefragment

DataFrames samenvoegen met Python

DataFrames zijn een integraal onderdeel van Python, gezien hun flexibiliteit en functionaliteit. Gezien hun veelzijdige gebruik, kunt u ze op grote schaal gebruiken om een ​​verscheidenheid aan taken met het grootste gemak uit te voeren.

Als je nog steeds leert over Python DataFrames, probeer dan een aantal Excel-bestanden te importeren en combineer ze met verschillende benaderingen.