Innehållsförteckning
Pandas merge() – Sammanfoga två DataFrame-objekt
Introduktion
Pandas merge() är en kraftfull funktion som gör det möjligt att kombinera och sammanfoga två DataFrame-objekt baserat på en gemensam kolumn eller index. Denna funktion är mycket användbar för att utföra olika typer av datahanteringsoperationer, såsom att slå samman kundinformation med beställningsdata, kombinera finansiella rapporter eller integrera data från flera källor.
Merge()-funktionen erbjuder ett flexibelt och intuitivt sätt att sammanfoga DataFrame-objekt med olika sammanfogningsalternativ och parametrar som ger användaren stor kontroll över sammanfogningsprocessen. Den här artikeln kommer att ge en detaljerad översikt över Pandas merge()-funktion, inklusive dess syntax, parametrar, sammanfogningstyper och användningsfall. Genom att förstå och behärska merge()-funktionen kan du avsevärt förbättra din förmåga att hantera och analysera data i Python.
Syntax för Pandas merge()
Den grundläggande syntaxen för Pandas merge()-funktionen är:
pandas.merge(left, right, on=None, left_on=None, right_on=None, left_index=False, right_index=False, how='inner', suffixes=('_x', '_y'), indicator=False, validate=None)
Parametrar för Pandas merge()
* left: Det första DataFrame-objektet som ska sammanfogas.
* right: Det andra DataFrame-objektet som ska sammanfogas.
* on: Namnet på den gemensamma kolumnen eller indexet som ska användas för att sammanfoga DataFrame-objekten.
* left_on: Namnet på kolumnen i det vänstra DataFrame-objektet som ska användas för sammanfogningen.
* right_on: Namnet på kolumnen i det högra DataFrame-objektet som ska användas för sammanfogningen.
* left_index: En boolesk värde som anger om indexet för det vänstra DataFrame-objektet ska användas för sammanfogningen.
* right_index: En boolesk värde som anger om indexet för det högra DataFrame-objektet ska användas för sammanfogningen.
* how: Sammanfogningstypen som ska användas. Kan vara ”inner”, ”outer”, ”left”, ”right” eller ”cross”.
* suffixes: Ett tupel eller en lista med strängar som anger suffixen som ska läggas till kolumnnamn som är duplicerade i de sammanfogade DataFrame-objekten.
* indicator: En boolesk värde som anger om en kolumn med värden som indikerar sammanfogningstypen ska läggas till i det sammanfogade DataFrame-objektet.
* validate: En sträng som anger valideringsnivån för sammanfogningen. Kan vara ”one_to_one”, ”one_to_many” eller ”many_to_many”.
Sammanfogningstyper
Merge() -funktionen stöder följande sammanfogningstyper:
* Inner (inre): Sammanfogar endast rader som har matchande värden i den gemensamma kolumnen eller indexet.
* Outer (yttre): Sammanfogar alla rader från båda DataFrame-objekten, även om det inte finns några matchande värden.
* Left (vänster): Sammanfogar alla rader från det vänstra DataFrame-objektet, även om det inte finns några matchande värden i det högra DataFrame-objektet.
* Right (höger): Sammanfogar alla rader från det högra DataFrame-objektet, även om det inte finns några matchande värden i det vänstra DataFrame-objektet.
* Cross (kors): Sammanfogar alla rader från båda DataFrame-objekten, oavsett om det finns några matchande värden.
Användningsfall för Pandas merge()
Merge() -funktionen har ett brett utbud av användningsfall inom datahantering och analys, inklusive:
* Slå samman data från flera källor: Kombinera data från olika källor, t.ex. kundinformation och beställningsdata, för att få en mer fullständig bild av dina data.
* Kombinera finansiella rapporter: Sammanfoga finansiella rapporter från olika tidsperioder eller enheter för att analysera trender och identifiera mönster.
* Integrera data från olika system: Integrera data från olika affärssystem, t.ex. CRM- och ERP-system, för att få en enhetlig vy av dina data.
* Analysera kundbeteende: Sammanfoga kunddata med transaktionsdata för att analysera kundbeteende, identifiera trender och förbättra kundupplevelsen.
* Utföra datautvinning: Använd merge() -funktionen för att extrahera data från olika källor för att skapa nya insikter och förutsäga framtida händelser.
Exempel på Pandas merge()
Här är några exempel på hur du använder Pandas merge()-funktionen:
python
import pandas as pd
Inner join
left = pd.DataFrame({'id': [1, 2, 3], 'name': ['Alice', 'Bob', 'Charlie']})
right = pd.DataFrame({'id': [2, 3, 4], 'age': [25, 30, 35]})
merged = pd.merge(left, right, on='id')
print(merged)
Outer join
left = pd.DataFrame({'id': [1, 2, 3], 'name': ['Alice', 'Bob', 'Charlie']})
right = pd.DataFrame({'id': [2, 3, 4], 'age': [25, 30, 35], 'city': ['New York', 'London', 'Paris']})
merged = pd.merge(left, right, on='id', how='outer')
print(merged)
Left join
left = pd.DataFrame({'id': [1, 2, 3], 'name': ['Alice', 'Bob', 'Charlie']})
right = pd.DataFrame({'id': [2, 3, 4], 'age': [25, 30, 35], 'city': ['New York', 'London', 'Paris']})
merged = pd.merge(left, right, on='id', how='left')
print(merged)
Right join
left = pd.DataFrame({'id': [1, 2, 3], 'name': ['Alice', 'Bob', 'Charlie']})
right = pd.DataFrame({'id': [2, 3, 4], 'age': [25, 30, 35], 'city': ['New York', 'London', 'Paris']})
merged = pd.merge(left, right, on='id', how='right')
print(merged)
Cross join
left = pd.DataFrame({'id': [1, 2, 3], 'name': ['Alice', 'Bob', 'Charlie']})
right = pd.DataFrame({'id': [2, 3, 4], 'age': [25, 30, 35], 'city': ['New York', 'London', 'Paris']})
merged = pd.merge(left, right, how='cross')
print(merged)
Slutsats
Pandas merge() -funktionen är ett kraftfullt verktyg för att sammanfoga och kombinera DataFrame-objekt i Python. Genom att förstå syntaxen, parametrarna, sammanfogningstyperna och användningsfallen för merge() -funktionen kan du effektivt hantera och analysera data från flera källor och system. Merge() -funktionen gör