Com concatenar dos o més marcs de dades Pandas?
La concatenació de dos o més marcs de dades es pot fer mitjançant el mètode pandas.concat(). concat() a Pandas funciona combinant marcs de dades entre files o columnes. Podem connectar dos o més marcs de dades al llarg de les files (eix=0) o al llarg de les columnes (eix=1). En aquest article, veurem com podem concatenar o afegir-ne dos o més Pandas Dataframe .
Concatenar dos o més Pandas DataFrames Python
Hi ha diversos mètodes per concatenar DataFrames verticalment o horitzontalment. Aquí estem discutint alguns mètodes d'ús general per Concatenar DataFrames verticalment o horitzontalment. aquests són els següents.
- Concatenació de dos DataFrame Pandas
-
Using>pd.merge()>per concatenar dos marcs de dades -
pd.DataFrame.reindex()>per a concatenació vertical amb alineació d'índex -
Using pd.concat()>ambsort=False>per a una concatenació més ràpida - Utilitzant pandas.concat() per concatenar dos marcs de dades
- Concatenar diversos marcs de dades mitjançant pandas.concat()
- Utilitzant pandas.join() per unir dos marcs de dades
- Utilitzant DataFrame.append() per concatenar dos marcs de dades
Creeu un marc de dades de mostra
Creeu dos marcs de dades que concatenarem ara. Per crear marcs de dades utilitzarem Numpy i pandes.
Python 3
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)> |
Sortida:
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
Concatenar dos Pandas DataFrame verticalment i horitzontalment
Passarem dos marcs de dades a pd.concat() mètode en forma de llista i esmenta en quin eix voleu concat, és a dir. eix=0 enganxar al llarg de les files, eix = 1 concat al llarg de columnes.
Python 3
# 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)> |
Sortida:
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
Concatenació de marcs de dades mitjançant pd.merge() per a Concat Two DataFrames
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.>
Python 3
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)> |
Sortida:
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()> per a concatenació vertical amb alineació d'índex
El mètode pd.DataFrame.reindex() s'utilitza per a la concatenació vertical de DataFrames en pandes. Alinea els índexs dels DataFrames, assegurant l'apilament adequat. És un pas crucial quan es combinen DataFrames verticalment mitjançant la concatenació en pandes.
Exemple: En aquest exemple de codi concatena dos DataFrames pandas, df1> i df> , ignorant els seus índexs originals i emmagatzema el resultat a la variable result> . A continuació, restableix l'índex del DataFrame concatenat
Python 3
result> => pd.concat([df1, df], ignore_index> => True> )> # Concatenate and reset index> result> => result.reindex(> range> (> 8> ))> print> (result)> |
Sortida:
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()> amb sort=False> per a una concatenació més ràpida
El mètode ` pd.concat() ` a la biblioteca pandas de Python s'utilitza per combinar DataFrames verticalment (al llarg de les files) o horitzontalment (al llarg de les columnes). El paràmetre `sort=False` s'utilitza per millorar la velocitat de concatenació desactivant l'ordenació del DataFrame resultant.
Exemple: En aquest exemple, el codi utilitza la biblioteca pandas per concatenar dos DataFrames, df1 i df, al llarg de les seves files (eix=0). El paràmetre sort=False impedeix ordenar el DataFrame resultant per noms de columna.
Python 3
result> => pd.concat([df1, df], sort> => False> )> print> (result)> |
Sortida:
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
Concatena dos o més Pandas DataFrames a Python mitjançant pandas.concat()
`pandas.concat()` combina dos DataFrames verticalment o horitzontalment, apilant-los un sobre l'altre o un al costat de l'altre, proporcionant una manera flexible de concatenar dades al llarg dels eixos especificats.
Exemple : En aquest exemple, el pd.concat()> La funció s'utilitza per concatenar aquests marcs de dades verticalment, produint un nou marc de dades anomenat result> , i ignore_index=True> s'utilitza per restablir l'índex. S'imprimeix el resultat final.
Python 3
result> => pd.concat([df, df1], ignore_index> => True> )> print> (result)> |
Sortida:
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
Concat múltiples DataFrames a Python mitjançant pandas.concat()
El mètode pandas.concat() s'utilitza per combinar DataFrames verticalment (al llarg de les files) o horitzontalment (al llarg de les columnes). Pren una llista de DataFrames com a entrada i els concatena en funció de l'eix especificat (0 per vertical, 1 per horitzontal).
Exemple: Aquest exemple utilitza pandas per crear tres marcs de dades ( df> , df1> , i df2> ) que representa informació sobre cursos, tarifes, durada i descomptes. A continuació, concatena aquests marcs de dades verticalment mitjançant pd.concat()> , creant un marc de dades nou anomenat result> amb un índex de restabliment i s'imprimeix el marc de dades resultant.
Python 3
result> => pd.concat([df, df1, df2], ignore_index> => True> )> print> (result)> |
Sortida:
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 dos marcs de dades mitjançant pandas.join() per unir dos marcs de dades
El pandas.join()> El mètode s'utilitza per concatenar DataFrames verticalment o horitzontalment en funció de columnes especificades, realitzant una unió d'estil SQL. Combina files o columnes de dos DataFrames basant-se en valors de columnes comuns, permetent unions internes, externes, esquerra o dreta.
Exemple: En aquest exemple, el join> s'utilitza per combinar aquests marcs de dades en funció dels seus índexs, donant lloc a un nou marc de dades anomenat result> , que està imprès.
Python 3
result> => df.join(df1)> print> (result)> |
Sortida:
Courses Fee Duration Discount 0 GFG 20000 30day 1000 1 JS 25000 40days 2300 2 Python 22000 35days 2500 3 Numpy 24000 60days 2000
Combina dos marcs de dades a Python mitjançant DataFrame.append()
El ` DataFrame.append() El mètode ` en pandas s'utilitza per concatenar dos DataFrames verticalment, afegint les files d'un DataFrame a sota de l'altre. Retorna un nou DataFrame amb les dades combinades. Assegureu-vos que tots dos DataFrames tinguin les mateixes columnes.
Exemple : En aquest exemple, estem utilitzant el append()> mètode, donant lloc a un nou marc de dades anomenat result> amb un índex de reinici, que s'imprimeix.
Python 3
result> => df.append(df1, ignore_index> => True> )> print> (result)> |
Sortida:
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