logo

Kaip sujungti du ar daugiau Pandos duomenų rėmelių?

Dviejų ar daugiau duomenų rėmelių sujungimas gali būti atliktas naudojant pandas.concat() metodą. Concat() programoje Pandas veikia sujungdamas duomenų rėmelius eilutėse arba stulpeliuose. Galime sujungti du ar daugiau duomenų rėmelių arba išilgai eilučių (axis = 0) arba išilgai stulpelių (axis = 1). Šiame straipsnyje pamatysime, kaip galime sujungti arba pridėti du ar daugiau Pandos duomenų rėmelis .

Sujunkite du ar daugiau pandų duomenų rėmelių Python

Yra įvairių metodų, kaip sujungti duomenų rėmelius vertikaliai arba horizontaliai. Čia aptariame kai kuriuos dažniausiai naudojamus duomenų rėmelių sujungimo vertikaliai arba horizontaliai metodus. tai yra šie.



  • Dviejų Pandų duomenų rėmelių sujungimas
  • Using> pd.merge()> Norėdami sujungti du duomenų rėmelius
  • pd.DataFrame.reindex()> vertikaliam sujungimui su rodyklės lygiavimu
  • Using pd.concat()>susort=False>už greitesnį sujungimą
  • Naudojant pandas.concat() sujungti du duomenų rėmelius
  • Sujunkite kelis duomenų rėmelius naudodami pandas.concat()
  • Naudojant pandas.join() sujungti du duomenų rėmelius
  • Naudojant DataFrame.append() Norėdami sujungti du duomenų rėmelius

Sukurkite duomenų rėmelio pavyzdį

Sukurkite du duomenų rėmelius, kuriuos dabar sujungsime. Kurdami duomenų rėmelius naudosime Numigęs ir pandos.

Python3








vietos datos laikas 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)>

>

>

Išvestis:

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>

Sujunkite du Pandas DataFrame vertikaliai ir horizontaliai

Perduosime du duomenų kadrus pd.concat() metodą sąrašo forma ir paminėkite, kurioje ašyje norite susijungti, t.y. ašis = 0 jungtis eilėmis, ašis = 1 jungti išilgai kolonų.

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

>

>

Išvestis:

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>

Duomenų rėmelių sujungimas naudojant pd.merge(), kad būtų sujungti du duomenų rėmeliai

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

>

>

Išvestis:

   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()>vertikaliam sujungimui su indekso lygiavimu

Metodas pd.DataFrame.reindex() naudojamas vertikaliai „DataFrames“ sujungimui pandose. Jis sulygiuoja „DataFrames“ indeksus, užtikrindamas tinkamą sudėtį. Tai labai svarbus žingsnis, kai „DataFrames“ sujungiama vertikaliai, naudojant pandų sujungimą.

Pavyzdys: Šiame pavyzdyje kodas sujungia du pandų duomenų rėmelius,df1>irdf>, nepaisydami jų pradinių indeksų, ir išsaugo rezultatą kintamajameresult>. Tada jis iš naujo nustato sujungto DataFrame indeksą

Python3

jdbc




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

>

>

Išvestis:

   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()>susort=False>už greitesnį sujungimą

Metodas ` pd.concat() ` Python pandas bibliotekoje naudojamas duomenų rėmams sujungti vertikaliai (išilgai eilučių) arba horizontaliai (palei stulpelius). Parametras `sort=False` naudojamas siekiant padidinti sujungimo greitį išjungiant gauto duomenų rėmelio rūšiavimą.

Pavyzdys : Šiame pavyzdyje kodas naudoja pandų biblioteką, kad sujungtų du duomenų rėmelius, df1 ir df, išilgai jų eilučių (axis = 0). Parametras sort=False neleidžia rūšiuoti gauto DataFrame pagal stulpelių pavadinimus.

Python3




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

>

>

Išvestis:

   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>

Sujunkite du ar daugiau Pandos duomenų rėmelių Python naudodami pandas.concat()

„pandas.concat()“ sujungia du duomenų rėmelius vertikaliai arba horizontaliai, sudėdami juos vienas ant kito arba vienas šalia kito, suteikdami lankstų būdą sujungti duomenis pagal nurodytas ašis.

Pavyzdys : Šiame pavyzdyjepd.concat()>Funkcija naudojama šiems duomenų rėmams sujungti vertikaliai, sukuriant naują duomenų rėmelį pavadinimuresult>, irignore_index=True>naudojamas indeksui iš naujo nustatyti. Galutinis rezultatas atspausdinamas.

Python3




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

>

>

Išvestis:

   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>

Sujunkite kelis duomenų rėmelius Python naudodami pandas.concat()

Pandas.concat() metodas naudojamas duomenų rėmams sujungti vertikaliai (išilgai eilučių) arba horizontaliai (palei stulpelius). Jis paima duomenų rėmelių sąrašą kaip įvestį ir sujungia juos pagal nurodytą ašį (0 vertikaliai, 1 horizontaliai).

Pavyzdys : Šiame pavyzdyje pandos naudojamos trims duomenų rėmeliams (df>,df1>, irdf2>) pateikia informaciją apie kursus, mokesčius, trukmę ir nuolaidas. Tada jis sujungia šiuos duomenų rėmelius vertikaliai, naudodamaspd.concat()>, sukurdami naują duomenų rėmelį pavadinimuresult>su atstatymo indeksu, o gautas duomenų rėmelis išspausdinamas.

Python3




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

>

>

Išvestis:

   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>

Pandos sujungia du duomenų rėmelius naudodami pandas.join(), kad sujungtumėte du duomenų rėmelius

Thepandas.join()>metodas naudojamas DataFrames vertikaliai arba horizontaliai sujungti pagal nurodytus stulpelius, atliekant SQL stiliaus sujungimą. Jis sujungia eilutes arba stulpelius iš dviejų duomenų rėmelių pagal bendrąsias stulpelių reikšmes, leidžiančias sujungti vidinį, išorinį, kairįjį arba dešinįjį.

Pavyzdys : Šiame pavyzdyjejoin>metodas naudojamas šiems duomenų rėmams sujungti pagal jų indeksus, todėl gaunamas naujas duomenų rėmelis, pavadintasresult>, kuris yra atspausdintas.

Python3




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

>

>

Išvestis:

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

Sujunkite du duomenų kadrus Python naudodami DataFrame.append()

` DataFrame.append() ` metodas pandose naudojamas dviejų duomenų rėmelių sujungimui vertikaliai, pridedant vieno duomenų rėmelio eilutes po kita. Jis grąžina naują DataFrame su sujungtais duomenimis. Įsitikinkite, kad abu duomenų rėmeliai turi tuos pačius stulpelius.

Pavyzdys : Šiame pavyzdyje mes naudojameappend()>metodas, todėl gaunamas naujas duomenų rėmelis, pavadintasresult>su atstatymo indeksu, kuris atspausdinamas.

Python3


eilutę į ilgą



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

>

>

Išvestis:

   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>