Sammanfogning av två eller flera dataramar kan göras med metoden pandas.concat(). concat() i Pandas fungerar genom att kombinera dataramar över rader eller kolumner. Vi kan sammanfoga två eller flera dataramar antingen längs rader (axel=0) eller längs kolumner (axel=1). I den här artikeln kommer vi att se hur vi kan sammanfoga eller lägga till två eller fler Pandas dataram .
Sammanfoga två eller flera Pandas DataFrames Python
Det finns olika metoder för att sammanfoga dataramar vertikalt eller horisontellt. Här diskuterar vi några allmänt använda metoder för att sammanfoga dataramar vertikalt eller horisontellt. det är följande.
- Sammanfoga två pandor DataFrame
Using>pd.merge()>att sammanfoga två dataramar-
pd.DataFrame.reindex()>för vertikal sammanfogning med indexjustering Using pd.concat()>medsort=False>för snabbare sammankoppling- Använda pandas.concat() för att sammanfoga två dataramar
- Sammanfoga flera dataramar med hjälp av pandas.concat()
- Använder sig av pandas.join() att gå med i två dataramar
- Använder sig av DataFrame.append() att sammanfoga två dataramar
Skapa en exempeldataram
Skapa två dataramar som vi kommer att sammanfoga nu. För att skapa dataramar kommer vi att använda Numpy och pandor.
Python3
funktioner i c
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>
Sammanfoga två Pandas DataFrame vertikalt och horisontellt
Vi skickar två dataramar till pd.concat() metod i form av en lista och ange i vilken axel du vill sammanfoga, d.v.s. axel=0 att sammanfoga längs rader, axel=1 att sammanfoga längs kolumner.
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>
Sammanfogning av dataramar med pd.merge() för att sammanfoga två dataramar
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)> |
>
>
Utgång:
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()>för vertikal sammanfogning med indexjustering
Metoden pd.DataFrame.reindex() används för vertikal sammanlänkning av DataFrames i pandor. Den justerar dataramarnas index, vilket säkerställer korrekt stapling. Det är ett avgörande steg när man kombinerar DataFrames vertikalt med sammanlänkning i pandor.
Exempel: I det här exemplet sammanfogar koden två pandor DataFrames,df1>ochdf>, ignorerar deras ursprungliga index och lagrar resultatet i variabelnresult>. Den återställer sedan indexet för den sammanlänkade DataFrame
Python3
java samlingar
result>=> pd.concat([df1, df], ignore_index>=>True>)># Concatenate and reset index> result>=> result.reindex(>range>(>8>))> print>(result)> |
>
>
Utgång:
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>för snabbare sammankoppling
Metoden ` pd.concat() ` i Pythons pandas-bibliotek används för att kombinera DataFrames antingen vertikalt (längs rader) eller horisontellt (längs kolumner). Parametern `sort=False` används för att öka sammanlänkningshastigheten genom att inaktivera sorteringen av den resulterande DataFrame.
Exempel: I det här exemplet använder koden pandas-biblioteket för att sammanfoga två DataFrames, df1 och df, längs deras rader (axel=0). Parametern sort=False förhindrar sortering av den resulterande DataFrame efter kolumnnamn.
Python3
result>=> pd.concat([df1, df], sort>=>False>)> print>(result)> |
>
>
Utgång:
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>
Sammanfoga två eller flera Pandas DataFrames i Python med pandas.concat()
`pandas.concat()` kombinerar två DataFrames antingen vertikalt eller horisontellt, staplar dem ovanpå varandra eller sida vid sida, vilket ger ett flexibelt sätt att sammanfoga data längs specificerade axlar.
Exempel :I det här exemplet ärpd.concat()>funktionen används för att sammanfoga dessa dataramar vertikalt, vilket skapar en ny dataram med namnetresult>, ochignore_index=True>används för att återställa indexet. Det slutliga resultatet skrivs ut.
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>
Sammanfoga flera dataramar i Python med pandas.concat()
Metoden pandas.concat() används för att kombinera DataFrames antingen vertikalt (längs rader) eller horisontellt (längs kolumner). Den tar en lista med DataFrames som indata och sammanfogar dem baserat på den angivna axeln (0 för vertikal, 1 för horisontell).
Exempel: Det här exemplet använder pandor för att skapa tre dataramar (df>,df1>, ochdf2>) representerar information om kurser, avgifter, varaktighet och rabatter. Den sammanfogar sedan dessa dataramar vertikalt med hjälp avpd.concat()>skapa en ny dataram med namnetresult>med ett återställningsindex, och den resulterande dataramen skrivs ut.
Python3
result>=> pd.concat([df, df1, df2], ignore_index>=>True>)> print>(result)> |
>
>
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 Sammanfoga två dataramar med pandas.join() för att sammanfoga två dataramar
Depandas.join()>Metoden används för att sammanfoga DataFrames vertikalt eller horisontellt baserat på specificerade kolumner, genom att utföra en SQL-liknande join. Den kombinerar rader eller kolumner från två DataFrames baserat på vanliga kolumnvärden, vilket möjliggör inre, yttre, vänster eller höger kopplingar.
Exempel: I det här exemplet ärjoin>metod används för att kombinera dessa dataramar baserat på deras index, vilket resulterar i en ny dataram med namnetresult>, som är tryckt.
Python3
result>=> df.join(df1)> print>(result)> |
hitta min iphone android
>
>
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>
Kombinera två dataramar i Python med DataFrame.append()
Den ` DataFrame.append() `-metoden i pandas används för att sammanfoga två DataFrames vertikalt och lägga till raderna i en DataFrame under den andra. Den returnerar en ny DataFrame med den kombinerade datan. Se till att båda DataFrames har samma kolumner.
Exempel : I det här exemplet använder viappend()>metod, vilket resulterar i en ny dataram med namnetresult>med ett återställningsindex, som skrivs ut.
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>