Združevanje dveh ali več podatkovnih okvirov je mogoče izvesti z metodo pandas.concat(). concat() v Pandas deluje tako, da združuje podatkovne okvire po vrsticah ali stolpcih. Združimo lahko dva ali več podatkovnih okvirov vzdolž vrstic (os=0) ali vzdolž stolpcev (os=1). V tem članku bomo videli, kako lahko združimo ali dodamo dva ali več Pandas Dataframe .
Združite dva ali več Panda DataFrames Python
Obstajajo različne metode za navpično ali vodoravno združevanje podatkovnih okvirov, tukaj razpravljamo o nekaterih splošno uporabljenih metodah za navpično ali vodoravno združevanje podatkovnih okvirov. to so naslednje.
- Združevanje dveh Panda DataFrame
Using>pd.merge()>za združevanje dveh podatkovnih okvirjev-
pd.DataFrame.reindex()>za navpično združevanje s poravnavo indeksa Using pd.concat()>zsort=False>za hitrejše združevanje- Uporaba pandas.concat() za združevanje dveh podatkovnih okvirov
- Povežite več podatkovnih okvirov z uporabo pandas.concat()
- Uporaba pandas.join() za združitev dveh podatkovnih okvirjev
- Uporaba DataFrame.append() za združevanje dveh podatkovnih okvirjev
Ustvarite vzorčni podatkovni okvir
Ustvarite dva podatkovna okvira, ki ju bomo zdaj združili. Za ustvarjanje podatkovnih okvirjev, ki jih bomo uporabili Numpy in pande.
Python3
vzorec javascripta
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)> |
>
>
Izhod:
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>
Povežite dva podatkovna okvira Panda navpično in vodoravno
Posredovali bomo dva podatkovna okvira pd.concat() metodo v obliki seznama in navedite, v kateri osi želite konkat, tj. os=0 povezovati po vrstah, os=1 povezovanje vzdolž stolpcev.
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)> |
>
>
Izhod:
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>
Združevanje podatkovnih okvirjev z uporabo pd.merge() za združevanje dveh podatkovnih okvirjev
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)> |
>
>
Izhod:
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()>za navpično združevanje s poravnavo indeksa
Metoda pd.DataFrame.reindex() se uporablja za navpično veriženje DataFrames v pandah. Poravna indekse DataFrames, kar zagotavlja pravilno zlaganje. To je ključni korak pri navpičnem združevanju DataFrames z uporabo veriženja v pandah.
primer: V tem primeru koda združuje dva panda DataFrames,df1>indf>, pri čemer zanemari svoje prvotne indekse in shrani rezultat v spremenljivkoresult>. Nato ponastavi indeks povezanega DataFrame
Python3
java zbirke
result>=> pd.concat([df1, df], ignore_index>=>True>)># Concatenate and reset index> result>=> result.reindex(>range>(>8>))> print>(result)> |
>
>
Izhod:
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()>zsort=False>za hitrejše združevanje
Metoda ` pd.concat() ` v Pythonovi knjižnici pandas se uporablja za združevanje DataFrames navpično (vzdolž vrstic) ali vodoravno (vzdolž stolpcev). Parameter `sort=False` se uporablja za izboljšanje hitrosti veriženja z onemogočanjem razvrščanja nastalega podatkovnega okvira.
Primer: V tem primeru koda uporablja knjižnico pandas za združevanje dveh podatkovnih okvirov, df1 in df, vzdolž njunih vrstic (os=0). Parameter sort=False preprečuje razvrščanje nastalega podatkovnega okvira po imenih stolpcev.
Python3
result>=> pd.concat([df1, df], sort>=>False>)> print>(result)> |
>
>
Izhod:
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>
Povežite dva ali več podatkovnih okvirov Panda v Pythonu z uporabo pandas.concat()
`pandas.concat()` združuje dva podatkovna okvira bodisi navpično ali vodoravno, tako da ju naloži drug na drugega ali drugega ob drugem, kar zagotavlja prilagodljiv način združevanja podatkov vzdolž določenih osi.
Primer : V tem primeru jepd.concat()>se uporablja za navpično združevanje teh podatkovnih okvirov, pri čemer nastane nov podatkovni okvir z imenomresult>, inignore_index=True>se uporablja za ponastavitev indeksa. Končni rezultat se natisne.
Python3
result>=> pd.concat([df, df1], ignore_index>=>True>)> print>(result)> |
>
>
Izhod:
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>
Poveži več podatkovnih okvirjev v Pythonu z uporabo pandas.concat()
Metoda pandas.concat() se uporablja za kombiniranje DataFrames navpično (vzdolž vrstic) ali vodoravno (vzdolž stolpcev). Kot vhod vzame seznam DataFrames in jih združi na podlagi podane osi (0 za navpično, 1 za vodoravno).
Primer: Ta primer uporablja pande za ustvarjanje treh podatkovnih okvirov (df>,df1>, indf2>), ki predstavlja informacije o tečajih, pristojbinah, trajanju in popustih. Nato združi te podatkovne okvire navpično z uporabopd.concat()>, ki ustvarja nov podatkovni okvir z imenomresult>s ponastavljenim indeksom in nastali podatkovni okvir se natisne.
Python3
result>=> pd.concat([df, df1, df2], ignore_index>=>True>)> print>(result)> |
>
>
Izhod:
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 Two DataFrames z uporabo pandas.join() za združevanje dveh DataFrames
Thepandas.join()>Metoda se uporablja za navpično ali vodoravno združevanje podatkovnih okvirov na podlagi določenih stolpcev, pri čemer se izvede združevanje v slogu SQL. Združuje vrstice ali stolpce iz dveh DataFrames na podlagi skupnih vrednosti stolpcev, kar omogoča notranje, zunanje, leve ali desne spoje.
Primer: V tem primeru jejoin>se uporablja za združevanje teh podatkovnih okvirov na podlagi njihovih indeksov, kar povzroči nov podatkovni okvir z imenomresult>, ki je natisnjen.
Python3
result>=> df.join(df1)> print>(result)> |
>
>
Izhod:
Courses Fee Duration Discount 0 GFG 20000 30day 1000 1 JS 25000 40days 2300 2 Python 22000 35days 2500 3 Numpy 24000 60days 2000>
Združite dva podatkovna okvira v Pythonu z uporabo DataFrame.append()
` DataFrame.append() ` metoda v pandah se uporablja za navpično združevanje dveh DataFrame, pri čemer se vrstice enega DataFrame dodajo pod drugega. Vrne nov DataFrame s kombiniranimi podatki. Zagotovite, da imata oba podatkovna okvira enake stolpce.
Primer : V tem primeru uporabljamoappend()>metoda, kar povzroči nov podatkovni okvir z imenomresult>z indeksom ponastavitve, ki se natisne.
Python3
result>=> df.append(df1, ignore_index>=>True>)> print>(result)> |
>
icloud slike v android
>
Izhod:
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>