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
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> a df> ignorujúc ich pôvodné indexy a výsledok uloží do premennej result> . Potom vynuluje index zreťazeného dátového rámca
Python3
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()> s sort=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 je pd.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ázvom result> , a ignore_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> , a df2> ) predstavujúce informácie o kurzoch, poplatkoch, trvaní a zľavách. Potom tieto dátové rámce vertikálne spojí pomocou pd.concat()> , čím sa vytvorí nový dátový rámec s názvom result> 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
The pandas.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íklade join> 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ázvom result> , 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žívame append()> výsledkom je nový dátový rámec s názvom result> s resetovacím indexom, ktorý sa vytlačí.
Python3
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