Aaneenschakeling van twee of meer dataframes kan worden gedaan met behulp van de pandas.concat()-methode. concat() in Pandas werkt door dataframes over rijen of kolommen te combineren. We kunnen twee of meer dataframes samenvoegen langs rijen (as=0) of langs kolommen (as=1). In dit artikel zullen we zien hoe we er twee of meer kunnen aaneenschakelen of toevoegen Panda's-dataframe .
Voeg twee of meer Panda's DataFrames Python samen
Er zijn verschillende methoden om DataFrames verticaal of horizontaal aan elkaar te koppelen. Hier bespreken we enkele algemeen gebruikte methoden voor het aaneenschakelen van DataFrames verticaal of horizontaal. dat zijn de volgende.
- DataFrame van twee panda's aaneenschakelen
Using>pd.merge()>om twee dataframes samen te voegen-
pd.DataFrame.reindex()>voor verticale aaneenschakeling met indexuitlijning Using pd.concat()>metsort=False>voor snellere aaneenschakeling- Pandas.concat() gebruiken om twee dataframes samen te voegen
- Voeg meerdere dataframes samen met behulp van panda's.concat()
- Gebruik makend van panda's.join() om twee dataframes samen te voegen
- Gebruik makend van DataFrame.append() om twee dataframes samen te voegen
Maak een voorbeelddataframe
Maak twee dataframes die we nu aaneenschakelen. Voor het maken van dataframes zullen we gebruiken Numpy en panda's.
Python3
hadoop-tutorial
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)> |
>
>
Uitgang:
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>
Voeg twee Panda's DataFrame verticaal en horizontaal samen
We geven twee dataframes door pd.concat() methode in de vorm van een lijst en vermeld in welke as je wilt concateren, d.w.z. as=0 langs rijen samenvoegen, as=1 langs kolommen samenvoegen.
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)> |
>
>
Uitgang:
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>
Concatenatie van dataframes met behulp van pd.merge() om twee dataframes samen te voegen
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)> |
>
>
Uitgang:
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()>voor verticale aaneenschakeling met indexuitlijning
De methode pd.DataFrame.reindex() wordt gebruikt voor verticale aaneenschakeling van DataFrames in panda's. Het lijnt de indexen van de DataFrames uit, waardoor een goede stapeling wordt gegarandeerd. Het is een cruciale stap bij het verticaal combineren van DataFrames met behulp van aaneenschakeling in panda's.
Voorbeeld: In dit voorbeeld worden twee panda's DataFrames aaneengeschakeld,df1>Endf>, waarbij de oorspronkelijke indices worden genegeerd, en het resultaat in de variabele wordt opgeslagenresult>. Vervolgens wordt de index van het aaneengeschakelde DataFrame opnieuw ingesteld
Python3
Java-collecties
result>=> pd.concat([df1, df], ignore_index>=>True>)># Concatenate and reset index> result>=> result.reindex(>range>(>8>))> print>(result)> |
>
>
Uitgang:
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()>metsort=False>voor snellere aaneenschakeling
De methode ` pd.concat() ` in de panda-bibliotheek van Python wordt gebruikt om DataFrames verticaal (langs rijen) of horizontaal (langs kolommen) te combineren. De parameter `sort=False` wordt gebruikt om de aaneenschakelingssnelheid te verbeteren door het sorteren van het resulterende DataFrame uit te schakelen.
Voorbeeld : In dit voorbeeld gebruikt code de panda's-bibliotheek om twee DataFrames, df1 en df, langs hun rijen aan elkaar te koppelen (as=0). De parameter sort=False voorkomt dat het resulterende DataFrame op kolomnamen wordt gesorteerd.
Python3
result>=> pd.concat([df1, df], sort>=>False>)> print>(result)> |
>
>
Uitgang:
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>
Voeg twee of meer Panda's DataFrames samen in Python met behulp van pandas.concat()
`pandas.concat()` combineert twee DataFrames, verticaal of horizontaal, en stapelt ze op elkaar of naast elkaar, waardoor een flexibele manier wordt geboden om gegevens langs gespecificeerde assen samen te voegen.
Voorbeeld :In dit voorbeeld is depd.concat()>De functie wordt gebruikt om deze dataframes verticaal aan elkaar te koppelen, waardoor een nieuw dataframe met de naam wordt geproduceerdresult>, Enignore_index=True>wordt gebruikt om de index te resetten. Het eindresultaat wordt afgedrukt.
Python3
result>=> pd.concat([df, df1], ignore_index>=>True>)> print>(result)> |
>
>
Uitgang:
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>
Concat meerdere dataframes in Python met behulp van pandas.concat()
De methode pandas.concat() wordt gebruikt om DataFrames verticaal (langs rijen) of horizontaal (langs kolommen) te combineren. Het neemt een lijst met DataFrames als invoer en voegt deze samen op basis van de opgegeven as (0 voor verticaal, 1 voor horizontaal).
Voorbeeld : In dit voorbeeld worden panda's gebruikt om drie dataframes te maken (df>,df1>, Endf2>) die informatie weergeeft over cursussen, kosten, duur en kortingen. Vervolgens worden deze dataframes verticaal samengevoegd met behulp vanpd.concat()>, waarbij een nieuw dataframe wordt gemaakt met de naamresult>met een reset-index, en het resulterende dataframe wordt afgedrukt.
Python3
Java is leeg
result>=> pd.concat([df, df1, df2], ignore_index>=>True>)> print>(result)> |
>
>
Uitgang:
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>
Panda's concateren twee dataframes met behulp van pandas.join() om twee dataframes samen te voegen
Depandas.join()>De methode wordt gebruikt om DataFrames verticaal of horizontaal samen te voegen op basis van opgegeven kolommen, waarbij een join in SQL-stijl wordt uitgevoerd. Het combineert rijen of kolommen uit twee DataFrames op basis van gemeenschappelijke kolomwaarden, waardoor binnen-, buiten-, links- of rechts-joins mogelijk zijn.
Voorbeeld : In dit voorbeeld is dejoin>De methode wordt gebruikt om deze dataframes te combineren op basis van hun indices, wat resulteert in een nieuw dataframe met de naamresult>, die wordt afgedrukt.
Python3
result>=> df.join(df1)> print>(result)> |
>
>
Uitgang:
Courses Fee Duration Discount 0 GFG 20000 30day 1000 1 JS 25000 40days 2300 2 Python 22000 35days 2500 3 Numpy 24000 60days 2000>
Combineer twee dataframes in Python met behulp van DataFrame.append()
De ` DataFrame.append() De `-methode in panda's wordt gebruikt om twee DataFrames verticaal aan elkaar te koppelen, waarbij de rijen van het ene DataFrame onder het andere worden toegevoegd. Het retourneert een nieuw DataFrame met de gecombineerde gegevens. Zorg ervoor dat beide DataFrames dezelfde kolommen hebben.
Voorbeeld : In dit voorbeeld gebruiken we deappend()>methode, resulterend in een nieuw dataframe met de naamresult>met een reset-index, die wordt afgedrukt.
Python3
result>=> df.append(df1, ignore_index>=>True>)> print>(result)> |
>
>
Uitgang:
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>