Lär dig hur man sammanfogar dataramar i Python

Lär dig hur man sammanfogar dataramar i Python

Om du använder Python, även för de enklaste uppgifterna, är du förmodligen medveten om vikten av dess tredjepartsbibliotek. Pandas-biblioteket, med sitt utmärkta stöd för DataFrames, är ett sådant bibliotek.



Du kan importera flera typer av filer till Python DataFrames och skapa olika versioner för att lagra olika datamängder. När du har importerat dina data med DataFrames kan du slå samman dem för att utföra detaljerad analys.





Ta itu med grunderna

Innan du börjar slå samman måste du ha DataFrames för att slå samman. För utvecklingsändamål kan du skapa lite dummydata att experimentera med.





Skapa DataFrames i Python

Som ett första steg, importera Pandas-biblioteket till din Python-fil. Pandas är ett tredjepartsbibliotek som hanterar DataFrames i Python. Du kan använda importera uttalande att använda biblioteket, enligt följande:

ar zone app vad är det
import pandas as pd

Du kan tilldela ett alias till biblioteksnamnet för att förkorta dina kodreferenser.



Du måste skapa ordböcker som du kan konvertera till DataFrames. För bästa resultat, skapa två ordboksvariabler— dikt1 och dict2— för att lagra specifik information:

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]}

Kom ihåg att du måste ha ett gemensamt element i båda ordboksvärdena för att fungera som primärnyckeln för att kombinera dina DataFrames senare.





Konvertera dina ordböcker till dataramar

För att konvertera dina ordboksvärden till DataFrames kan du använda följande metod:

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

Vissa IDE:er låter dig kontrollera värdena i DataFrame genom att referera till DataFrame-funktionen och trycka på Kör/kör . Det är många Python-kompatibla IDE:er , så att du kan välja och vraka den som är lättast för dig att lära dig.





  Jupyter Notebook-kodavsnitt

När du är nöjd med innehållet i dina DataFrames kan du gå vidare till sammanslagningssteget.

Kombinera ramar med sammanfogningsfunktionen

Merge-funktionen är den första Python-funktionen du kan använda för att kombinera två DataFrames. Den här funktionen tar följande standardargument:

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

Var:

  • pd är ett alias för Pandas-biblioteket.
  • sammanfoga är funktionen som sammanfogar DataFrames.
  • DataFrame1 och DataFrame2 är de två DataFrames som ska slås samman.
  • hur definierar sammanslagningstypen.

Några extra valfria argument är tillgängliga, som du kan använda när du har en komplex datastruktur.

Du kan använda olika värden för hur-parametern för att definiera vilken typ av sammanslagning som ska utföras. Dessa typer av sammanslagningar kommer att vara bekanta om du har använde SQL för att ansluta databastabeller .

Vänster sammanfoga

Den vänstra sammanslagningstypen håller den första DataFrames värden intakt och hämtar matchande värden från den andra DataFrame.

  Kodavsnitt för Jupyter Notebook

Höger sammanfoga

Rätt sammanslagningstyp håller den andra DataFrames värden intakt och hämtar de matchande värdena från den första DataFrame.

  Jupyter Notebook-kodavsnitt

Inre sammanslagning

Den inre sammanslagningstypen behåller de matchande värdena från båda DataFrames och tar bort icke-matchande värden.

  Kodavsnitt för Jupyter Notebook

Yttre sammanfogning

Den yttre sammanslagningstypen behåller alla matchande och icke-matchande värden och konsoliderar DataFrames tillsammans.

  Kodavsnitt för Jupyter Notebook

Hur man använder Concat-funktionen

De konkat funktion är ett flexibelt alternativ jämfört med några av Pythons andra sammanslagningsfunktioner. Med concat-funktionen kan du kombinera DataFrames vertikalt och horisontellt.

hur man avblockerar e -post på gmail

Men nackdelen med att använda den här funktionen är att den kasserar alla icke-matchande värden som standard. Liksom vissa andra relaterade funktioner har denna funktion ett fåtal argument, av vilka endast ett fåtal är nödvändiga för en framgångsrik sammanlänkning.

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

Var:

  • konkat är funktionen som sammanfogar DataFrames.
  • dataramar är en sekvens av DataFrames att sammanfoga.
  • axel representerar sammanlänkningsriktningen, 0 är horisontell, 1 är vertikal.
  • Ansluta sig anger antingen en yttre eller inre sammanfogning.

Med hjälp av ovanstående två DataFrames kan du prova concat-funktionen enligt följande:

# 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)

Frånvaron av axel- och kopplingsargumenten i ovanstående kod kombinerar de två datamängderna. Den resulterande utgången har alla poster, oavsett matchningsstatus.

På samma sätt kan du använda ytterligare argument för att styra riktningen och utmatningen av konkatfunktionen.

Så här styr du utdata med alla matchande poster:

# 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)

Resultatet innehåller endast alla matchande värden mellan de två DataFrames.

  Jupyter Notebook-kodavsnitt

Sammanfoga dataramar med Python

DataFrames är en integrerad del av Python, med tanke på deras flexibilitet och funktionalitet. Med tanke på deras mångfacetterade användningsområden kan du använda dem i stor utsträckning för att utföra en mängd olika uppgifter med största lätthet.

Om du fortfarande lär dig om Python DataFrames, prova att importera några Excel-filer och kombinera dem sedan med olika tillvägagångssätt.