logo

Ako spojiť dva alebo viac dátových rámov Pandas?

Reťazenie dvoch alebo viacerých dátových rámcov je možné vykonať pomocou metódy pandas.concat(). concat() v Pandas funguje tak, že kombinuje dátové rámce v riadkoch alebo stĺpcoch. Môžeme spojiť dva alebo viac dátových rámcov buď pozdĺž riadkov (os=0) alebo pozdĺž stĺpcov (os=1). V tomto článku uvidíme, ako môžeme zreťaziť alebo pridať dve alebo viac Dátový rámec Pandas .

Spojenie dvoch alebo viacerých dátových rámov Pandas Python

Existujú rôzne metódy na vertikálne alebo horizontálne zreťazenie dátových rámcov. Tu diskutujeme o niektorých všeobecne používaných metódach na zreťazenie dátových rámov vertikálne alebo horizontálne. to sú nasledujúce.



  • Spojenie dvoch dátových rámov Pandy
  • Using> pd.merge()> na zreťazenie dvoch dátových rámov
  • pd.DataFrame.reindex()> pre vertikálne zreťazenie so zarovnaním indexu
  • Using pd.concat()>ssort=False>pre rýchlejšie zreťazenie
  • Použitie pandas.concat() na zreťazenie dvoch dátových rámcov
  • Spojenie viacerých dátových rámcov pomocou pandas.concat()
  • Použitím pandas.join() na spojenie dvoch dátových rámov
  • Použitím DataFrame.append() na zreťazenie dvoch dátových rámov

Vytvorte vzorový dátový rámec

Vytvorte dva dátové rámce, ktoré teraz zreťazíme. Na vytváranie dátových rámcov, ktoré budeme používať Numpy a pandy.

Python3








sqrt java matematika
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)>

>

>

Výkon:

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>

Vertikálne a horizontálne zreťazenie dvoch dátových rámov Pandy

Odovzdáme dva dátové rámce pd.concat() spôsob vo forme zoznamu a uveďte, v ktorej osi chcete konkat, t.j. os = 0 spájať sa pozdĺž radov, os = 1 spájať pozdĺž stĺpov.

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

>

>

Výkon:

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>

Reťazenie dátových rámcov pomocou pd.merge() na spojenie dvoch dátových rámov

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

>

>

Výkon :

   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()>pre vertikálne zreťazenie so zarovnaním indexu

Metóda pd.DataFrame.reindex() sa používa na vertikálne zreťazenie DataFrames v pandách. Zarovnáva indexy dátových rámov a zaisťuje správne stohovanie. Je to zásadný krok pri vertikálnej kombinácii dátových rámov pomocou zreťazenia v pandách.

Príklad: V tomto príklade kód spája dva dátové rámce pandy,df1>adf>ignorujúc ich pôvodné indexy a výsledok uloží do premennejresult>. Potom vynuluje index zreťazeného dátového rámca

Python3

kolekcie java




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

>

>

Výkon :

   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()>ssort=False>pre rýchlejšie zreťazenie

Metóda ' pd.concat() ` v knižnici Python pandas sa používa na kombinovanie dátových rámov buď vertikálne (pozdĺž riadkov) alebo horizontálne (pozdĺž stĺpcov). Parameter `sort=False` sa používa na zvýšenie rýchlosti zreťazenia zakázaním triedenia výsledného dátového rámca.

Príklad: V tomto príklade kód používa knižnicu pandas na zreťazenie dvoch DataFrame, df1 a df, pozdĺž ich riadkov (os = 0). Parameter sort=False zabraňuje triedeniu výsledného DataFrame podľa názvov stĺpcov.

Python3




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

>

>

Výkon :

   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>

Spojenie dvoch alebo viacerých dátových rámov Pandas v Pythone pomocou pandas.concat()

`pandas.concat()` kombinuje dva dátové rámce buď vertikálne alebo horizontálne, ukladá ich na seba alebo vedľa seba, čím poskytuje flexibilný spôsob zreťazenia dát pozdĺž určených osí.

Príklad :V tomto príklade jepd.concat()>funkcia sa používa na vertikálne zreťazenie týchto dátových rámcov, čím sa vytvorí nový dátový rámec s názvomresult>, aignore_index=True>sa používa na resetovanie indexu. Vytlačí sa konečný výsledok.

Python3




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

>

>

Výkon:

   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>

Spojte viacero dátových rámcov v Pythone pomocou pandas.concat()

Metóda pandas.concat() sa používa na kombinovanie DataFrame buď vertikálne (pozdĺž riadkov), alebo horizontálne (pozdĺž stĺpcov). Ako vstup berie zoznam DataFrames a spája ich na základe špecifikovanej osi (0 pre vertikálu, 1 pre horizontálnu).

Príklad: Tento príklad používa pandy na vytvorenie troch dátových rámcov (df>,df1>, adf2>) predstavujúce informácie o kurzoch, poplatkoch, trvaní a zľavách. Potom tieto dátové rámce vertikálne spojí pomocoupd.concat()>, čím sa vytvorí nový dátový rámec s názvomresult>s resetovaným indexom a vytlačí sa výsledný dátový rámec.

Python3




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

>

>

Výkon:

   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 pomocou pandas.join() na spojenie dvoch DataFrames

Thepandas.join()>metóda sa používa na vertikálne alebo horizontálne zreťazenie DataFrame na základe špecifikovaných stĺpcov, pričom sa vykoná spojenie v štýle SQL. Kombinuje riadky alebo stĺpce z dvoch DataFrame na základe spoločných hodnôt stĺpcov, čo umožňuje vnútorné, vonkajšie, ľavé alebo pravé spojenie.

Príklad: V tomto príkladejoin>metóda sa používa na spojenie týchto dátových rámcov na základe ich indexov, výsledkom čoho je nový dátový rámec s názvomresult>, ktorý je vytlačený.

Python3




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

>

>

Výkon:

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

Skombinujte dva dátové rámce v Pythone pomocou DataFrame.append()

` DataFrame.append() ` metóda v pandách sa používa na vertikálne zreťazenie dvoch dátových rámov, pričom sa riadky jedného dátového rámca pridajú pod druhý. Vracia nový DataFrame s kombinovanými údajmi. Uistite sa, že oba dátové rámce majú rovnaké stĺpce.

Príklad : V tomto príklade používameappend()>výsledkom je nový dátový rámec s názvomresult>s resetovacím indexom, ktorý sa vytlačí.

Python3




modifikačné klávesy
result>=> df.append(df1, ignore_index>=>True>)> print>(result)>

>

>

Výkon:

   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>