logo

Kā savienot divus vai vairākus Pandas datu rāmjus?

Divu vai vairāku datu kadru savienošanu var veikt, izmantojot pandas.concat() metodi. Concat() programmā Pandas darbojas, apvienojot datu rāmjus rindās vai kolonnās. Mēs varam savienot divus vai vairākus datu rāmjus pa rindām (ass = 0) vai pa kolonnām (ass = 1). Šajā rakstā mēs redzēsim, kā mēs varam savienot vai pievienot divus vai vairāk Pandas datu rāmis .

Savienojiet divus vai vairākus Pandas DataFrames Python

Ir dažādas metodes, kā savienot datu rāmjus vertikāli vai horizontāli. Šeit mēs apspriežam dažas vispārīgi izmantotās metodes datu rāmju savienošanai vertikāli vai horizontāli. tie ir šādi.



  • Divu Pandas datu rāmja savienošana
  • Using> pd.merge()> lai savienotu divus datu rāmjus
  • pd.DataFrame.reindex()> vertikālai savienošanai ar indeksa izlīdzināšanu
  • Using pd.concat()>arsort=False>Ātrākai savienošanai
  • Pandas.concat() izmantošana divu datu rāmju savienošanai
  • Savienojiet vairākus datu rāmjus, izmantojot pandas.concat()
  • Izmantojot pandas.join() lai savienotu divus datu rāmjus
  • Izmantojot DataFrame.append() lai savienotu divus datu rāmjus

Izveidojiet datu rāmja paraugu

Izveidojiet divus datu rāmjus, kurus mēs tagad savienosim. Datu rāmju izveidei mēs izmantosim Numpy un pandas.

Python3








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

>

>

Izvade:

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>

Savienojiet divus Pandas DataFrame vertikāli un horizontāli

Mēs nosūtīsim divus datu kadrus pd.concat() metodi saraksta veidā un nosauciet, kurā asī vēlaties savienoties, t.i. ass=0 savienoties pa rindām, ass=1 lai savienotos pa kolonnām.

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

>

>

Izvade:

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>

DataFrames savienošana, izmantojot pd.merge(), lai savienotu divus datu rāmjus

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

>

>

Izvade:

   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()>vertikālai savienošanai ar indeksa izlīdzināšanu

Metode pd.DataFrame.reindex() tiek izmantots vertikālai DataFrames savienošanai pandās. Tas saskaņo DataFrames indeksus, nodrošinot pareizu sakraušanu. Tas ir būtisks solis, apvienojot DataFrames vertikāli, izmantojot konkatenāciju pandās.

Piemērs: Šajā piemērā kods savieno divus pandu datu rāmjus,df1>undf>, ignorējot to sākotnējos indeksus, un saglabā rezultātu mainīgajāresult>. Pēc tam tas atiestata sasaistītā DataFrame indeksu

Python3

java kolekcijas




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

>

>

Izvade:

   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()>arsort=False>Ātrākai savienošanai

Metode ` pd.concat() ` Python pandas bibliotēkā tiek izmantots, lai apvienotu DataFrames vertikāli (gar rindām) vai horizontāli (gar kolonnām). Parametrs 'sort=False' tiek izmantots, lai palielinātu savienošanas ātrumu, atspējojot iegūtā DataFrame kārtošanu.

Piemērs : Šajā piemērā kods izmanto pandas bibliotēku, lai savienotu divus DataFrame df1 un df pa to rindām (ass = 0). Parametrs sort=False neļauj kārtot iegūto DataFrame pēc kolonnu nosaukumiem.

Python3




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

>

>

Izvade:

   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>

Savienojiet divus vai vairākus Pandas DataFrames programmā Python, izmantojot pandas.concat()

Pandas.concat()” apvieno divus datu rāmjus vertikāli vai horizontāli, saliekot tos vienu virs otra vai blakus, nodrošinot elastīgu veidu, kā savienot datus pa noteiktām asīm.

Piemērs :Šajā piemērāpd.concat()>funkcija tiek izmantota, lai savienotu šos datu kadrus vertikāli, izveidojot jaunu datu ietvaru ar nosaukumuresult>, unignore_index=True>tiek izmantots indeksa atiestatīšanai. Gala rezultāts tiek izdrukāts.

Python3




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

>

>

Izvade:

   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>

Savienojiet vairākus datu rāmjus programmā Python, izmantojot pandas.concat()

Metode pandas.concat() tiek izmantota, lai apvienotu DataFrames vertikāli (gar rindām) vai horizontāli (gar kolonnām). Tas izmanto datu rāmju sarakstu kā ievadi un savieno tos, pamatojoties uz norādīto asi (0 vertikālei, 1 horizontālajai asij).

Piemērs : Šajā piemērā tiek izmantotas pandas, lai izveidotu trīs datu kadrus (df>,df1>, undf2>), kas atspoguļo informāciju par kursiem, maksām, ilgumu un atlaidēm. Pēc tam tas savieno šos datu kadrus vertikāli, izmantojotpd.concat()>, izveidojot jaunu datu rāmi ar nosaukumuresult>ar atiestatīšanas indeksu, un iegūtais datu rāmis tiek izdrukāts.

Python3


salīdzināt ar virknēm java



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

>

>

Izvade:

   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 savieno divus datu rāmjus, izmantojot pandas.join(), lai savienotu divus datu rāmjus

Thepandas.join()>metode tiek izmantota, lai vertikāli vai horizontāli savienotu DataFrames, pamatojoties uz norādītajām kolonnām, veicot SQL stila savienojumu. Tas apvieno rindas vai kolonnas no diviem DataFrame, pamatojoties uz kopējām kolonnu vērtībām, ļaujot savienot iekšējos, ārējos, kreisos vai labos savienojumus.

Piemērs : Šajā piemērājoin>metode tiek izmantota, lai apvienotu šos datu kadrus, pamatojoties uz to indeksiem, kā rezultātā tiek iegūts jauns datu ietvars ar nosaukumuresult>, kas ir izdrukāts.

Python3




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

>

>

Izvade:

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

Apvienojiet divus datu kadrus Python, izmantojot DataFrame.append()

` DataFrame.append() ` metode pandās tiek izmantota, lai vertikāli savienotu divus DataFrame, pievienojot viena DataFrame rindas zem otra. Tas atgriež jaunu DataFrame ar apvienotajiem datiem. Nodrošiniet, lai abos DataFrames būtu vienādas kolonnas.

Piemērs : Šajā piemērā mēs izmantojamappend()>metodi, kā rezultātā tiek iegūts jauns datu rāmis ar nosaukumuresult>ar atiestatīšanas indeksu, kas tiek izdrukāts.

Python3




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

>

>

Izvade:

   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>