logo

Hvordan sammenkædes to eller flere Pandas DataFrames?

Sammenkædning af to eller flere datarammer kan udføres ved hjælp af pandas.concat() metoden. concat() i Pandas fungerer ved at kombinere datarammer på tværs af rækker eller kolonner. Vi kan sammenkæde to eller flere datarammer enten langs rækker (akse=0) eller langs kolonner (akse=1). I denne artikel vil vi se, hvordan vi kan sammenkæde eller tilføje to eller flere Pandas dataramme .

Sammenkæd to eller flere Pandas DataFrames Python

Der er forskellige metoder til at sammenkæde datarammer vertikalt eller horisontalt. Her diskuterer vi nogle almindeligt anvendte metoder til at sammenkæde datarammer vertikalt eller horisontalt. det er følgende.



  • Sammenkædning af to pandaer DataFrame
  • Using> pd.merge()> at sammenkæde to datarammer
  • pd.DataFrame.reindex()> til lodret sammenkædning med indeksjustering
  • Using pd.concat()>medsort=False>for hurtigere sammenkædning
  • Brug af pandas.concat() til at sammenkæde to datarammer
  • Sammenkæd flere datarammer ved hjælp af pandas.concat()
  • Ved brug af pandas.join() at slutte sig til to datarammer
  • Ved brug af DataFrame.append() at sammenkæde to datarammer

Opret en prøvedataramme

Opret to datarammer, som vi vil sammenkæde nu. Til oprettelse af datarammer vil vi bruge Numpy og pandaer.

Python3








streng tokenizer java
import> pandas as pd> import> numpy as np> df>=> pd.DataFrame({>'Courses'>: [>'GFG'>,>'JS'>,>'Python'>,>'Numpy'>],> >'Fee'>: [>20000>,>25000>,>22000>,>24000>]})> df1>=> pd.DataFrame({>'Courses'>: [>'Matplotlib'>,>'SSC'>,>'CHSL'>,>'Java'>],> >'Fee'>: [>25000>,>25200>,>24500>,>24900>]})> df2>=> pd.DataFrame({>'Duration'>: [>'30day'>,>'40days'>,>'35days'>,>'60days'>],> >'Discount'>: [>1000>,>2300>,>2500>,>2000>]})> print>(>'DataFrame 1:'>)> print>(df)> print>(>'DataFrame 2:'>)> print>(df1)> print>(>'DataFrame 3:'>)> print>(df2)>

>

>

Produktion:

DataFrame 1:    Courses     Fee  0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 DataFrame 2:    Courses     Fee  0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 DataFrame 3:    Duration     Discount  0 30day 1000 1 40days 2300 2 35days 2500 3 60days 2000>

Sammenkæd to Pandas DataFrame lodret og vandret

Vi sender to datarammer til pd.concat() metode i form af en liste og angiv i hvilken akse du vil sammenkæde, dvs. akse=0 at samle sig langs rækker, akse=1 at sammenkæde langs søjler.

Python3




# concatenating df1 and df2 along rows> vertical_concat>=> pd.concat([df, df1], axis>=>0>)> # concatenating df3 and df4 along columns> horizontal_concat>=> pd.concat([df1, df2], axis>=>1>)> print>(>'Vertical:'>)> print>(vertical_concat)> print>(>'Horizontal:'>)> print>(horizontal_concat)>

>

>

Produktion:

Vertical:    Courses     Fee  0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 Horizontal:    Courses     Fee     Duration     Discount  0 Matplotlib 25000 30day 1000 1 SSC 25200 40days 2300 2 CHSL 24500 35days 2500 3 Java 24900 60days 2000>

Sammenkædning af datarammer ved hjælp af pd.merge() til sammenkædning af to datarammer

The method> 'pd.merge()'> in pandas is used to concatenate DataFrames either vertically or horizontally. It combines two DataFrames based on common columns using a merge operation. The 'how' parameter in pd.merge() specifies the type of merge (inner, outer, left, or right), determining how the DataFrames are combined.>

Python3




result>=> pd.merge(df, df1, on>=>'Courses'>, how>=>'outer'>, suffixes>=>(>'_df1'>,>'_df2'>)).fillna(>0>)> result[>'Fee'>]>=> result[>'Fee_df1'>]>+> result[>'Fee_df2'>]> result>=> result[[>'Courses'>,>'Fee'>]]> print>(result)>

>

>

Output:

   Courses     Fee  0 GFG 20000.0 1 JS 25000.0 2 Python 22000.0 3 Numpy 24000.0 4 Matplotlib 25000.0 5 SSC 25200.0 6 CHSL 24500.0 7 Java 24900.0>

Using pd.DataFrame.reindex()>til lodret sammenkædning med indeksjustering

Metoden pd.DataFrame.reindex() bruges til vertikal sammenkædning af DataFrames i pandaer. Det justerer datarammernes indekser, hvilket sikrer korrekt stabling. Det er et afgørende skridt, når du kombinerer DataFrames vertikalt ved hjælp af sammenkædning i pandaer.

Eksempel: I dette eksempel sammenkæder kode to pandaer DataFrames,df1>ogdf>, ignorerer deres oprindelige indekser og gemmer resultatet i variablenresult>. Det nulstiller derefter indekset for den sammenkædede DataFrame

Python3

java samlinger




result>=> pd.concat([df1, df], ignore_index>=>True>)># Concatenate and reset index> result>=> result.reindex(>range>(>8>))> print>(result)>

>

>

Output:

   Courses     Fee  0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 4 GFG 20000 5 JS 25000 6 Python 22000 7 Numpy 24000>

Using pd.concat()>medsort=False>for hurtigere sammenkædning

Metoden ` pd.concat() ` i Pythons pandas-bibliotek bruges til at kombinere DataFrames enten lodret (langs rækker) eller vandret (langs kolonner). Parameteren 'sort=False' bruges til at øge sammenkædningshastigheden ved at deaktivere sorteringen af ​​den resulterende DataFrame.

Eksempel: I dette eksempel bruger koden pandas-biblioteket til at sammenkæde to DataFrames, df1 og df, langs deres rækker (akse=0). Parameteren sort=False forhindrer sortering af den resulterende DataFrame efter kolonnenavne.

Python3




result>=> pd.concat([df1, df], sort>=>False>)> print>(result)>

>

>

Output:

   Courses     Fee  0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000>

Sammensæt to eller flere Pandas DataFrames i Python ved hjælp af pandas.concat()

`pandas.concat()` kombinerer to DataFrames enten lodret eller vandret, stable dem oven på hinanden eller side om side, hvilket giver en fleksibel måde at sammenkæde data langs specificerede akser.

Eksempel :I dette eksempel erpd.concat()>funktion bruges til at sammenkæde disse datarammer lodret, hvilket producerer en ny dataramme med navnetresult>, ogignore_index=True>bruges til at nulstille indekset. Det endelige resultat udskrives.

Python3




result>=> pd.concat([df, df1], ignore_index>=>True>)> print>(result)>

>

>

Produktion:

   Courses     Fee  0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 4 Matplotlib 25000 5 SSC 25200 6 CHSL 24500 7 Java 24900>

Sammensæt flere datarammer i Python ved hjælp af pandas.concat()

Metoden pandas.concat() bruges til at kombinere DataFrames enten lodret (langs rækker) eller vandret (langs kolonner). Det tager en liste over DataFrames som input og sammenkæder dem baseret på den angivne akse (0 for lodret, 1 for vandret).

Eksempel: Dette eksempel bruger pandaer til at skabe tre datarammer (df>,df1>, ogdf2>) repræsenterer oplysninger om kurser, gebyrer, varighed og rabatter. Det sammenkæder derefter disse datarammer lodret vhapd.concat()>, opretter en ny dataramme med navnetresult>med et nulstillingsindeks, og den resulterende dataramme udskrives.

Python3




result>=> pd.concat([df, df1, df2], ignore_index>=>True>)> print>(result)>

>

usigneret int c programmering
>

Produktion:

   Courses     Fee     Duration     Discount  0 GFG 20000 NaN NaN 1 JS 25000 NaN NaN 2 Python 22000 NaN NaN 3 Numpy 24000 NaN NaN 4 Matplotlib 25000 NaN NaN 5 SSC 25200 NaN NaN 6 CHSL 24500 NaN NaN 7 Java 24900 NaN NaN 8 NaN NaN 30day 1000.0 9 NaN NaN 40days 2300.0 10 NaN NaN 35days 2500.0 11 NaN NaN 60days 2000.0>

Pandas Concat To DataFrames ved hjælp af pandas.join() for at forbinde To DataFrames

Detpandas.join()>metode bruges til at sammenkæde DataFrames lodret eller vandret baseret på specificerede kolonner, der udfører en SQL-lignende joinforbindelse. Den kombinerer rækker eller kolonner fra to DataFrames baseret på fælles kolonneværdier, hvilket giver mulighed for indre, ydre, venstre eller højre joinforbindelser.

Eksempel: I dette eksempel erjoin>metode bruges til at kombinere disse datarammer baseret på deres indekser, hvilket resulterer i en ny dataramme navngivetresult>, som er trykt.

Python3




result>=> df.join(df1)> print>(result)>

>

>

Produktion:

   Courses     Fee     Duration     Discount  0 GFG 20000 30day 1000 1 JS 25000 40days 2300 2 Python 22000 35days 2500 3 Numpy 24000 60days 2000>

Kombiner to dataframes i Python ved hjælp af DataFrame.append()

Den ` DataFrame.append() ` metode i pandaer bruges til at sammenkæde to DataFrames lodret og tilføje rækkerne af den ene DataFrame under den anden. Det returnerer en ny DataFrame med de kombinerede data. Sørg for, at begge DataFrames har de samme kolonner.

Eksempel : I dette eksempel bruger viappend()>metode, hvilket resulterer i en ny dataramme navngivetresult>med et nulstillingsindeks, som udskrives.

Python3




result>=> df.append(df1, ignore_index>=>True>)> print>(result)>

>

>

Produktion:

   Courses     Fee  0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 4 Matplotlib 25000 5 SSC 25200 6 CHSL 24500 7 Java 24900>