La concaténation de deux ou plusieurs trames de données peut être effectuée à l'aide de la méthode pandas.concat(). concat() dans Pandas fonctionne en combinant des trames de données sur des lignes ou des colonnes. Nous pouvons concaténer deux ou plusieurs trames de données soit le long des lignes (axe = 0), soit le long des colonnes (axe = 1). Dans cet article, nous verrons comment concaténer ou ajouter deux ou plusieurs Cadre de données Pandas .
Concaténer deux ou plusieurs Pandas DataFrames Python
Il existe différentes méthodes pour concaténer des DataFrames verticalement ou horizontalement. Nous discutons ici de certaines méthodes généralement utilisées pour concaténer des DataFrames verticalement ou horizontalement. ce sont les suivants.
- Concaténation de deux DataFrame Pandas
Using>pd.merge()>concaténer deux DataFrames-
pd.DataFrame.reindex()>pour la concaténation verticale avec alignement d'index Using pd.concat()>avecsort=False>pour une concaténation plus rapide- Utiliser pandas.concat() pour concaténer deux DataFrames
- Concaténer plusieurs DataFrames à l'aide pandas.concat()
- En utilisant pandas.join() joindre deux DataFrames
- En utilisant DataFrame.append() concaténer deux DataFrames
Créer un exemple de DataFrame
Créez deux trames de données que nous allons concaténer maintenant. Pour créer des trames de données, nous utiliserons Numpy et les pandas.
Python3
point numpy
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)> |
>
>
Sortir:
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>
Concaténer deux DataFrame Pandas verticalement et horizontalement
Nous passerons deux dataframes à pd.concat() méthode sous forme de liste et mentionnez dans quel axe vous souhaitez concaténer, c'est à dire axe=0 concaténer le long des lignes, axe=1 pour concaténer le long des colonnes.
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)> |
>
>
Sortir:
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>
Concaténation de DataFrames utilisant pd.merge() pour concaténer deux 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.>
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)> |
>
>
Sortir :
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()>pour la concaténation verticale avec alignement d'index
La méthode pd.DataFrame.reindex() est utilisé pour la concaténation verticale des DataFrames dans les pandas. Il aligne les index des DataFrames, garantissant un empilement correct. C'est une étape cruciale lors de la combinaison verticale de DataFrames à l'aide de la concaténation dans les pandas.
Exemple: Dans cet exemple, le code concatène deux DataFrames pandas,df1>etdf>, en ignorant leurs indices d'origine, et stocke le résultat dans la variableresult>. Il réinitialise ensuite l'index du DataFrame concaténé
Python3
0,2 en fraction
result>=> pd.concat([df1, df], ignore_index>=>True>)># Concatenate and reset index> result>=> result.reindex(>range>(>8>))> print>(result)> |
>
>
Sortir :
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()>avecsort=False>pour une concaténation plus rapide
La méthode ` pd.concat() ` dans la bibliothèque pandas de Python est utilisé pour combiner des DataFrames soit verticalement (le long des lignes), soit horizontalement (le long des colonnes). Le paramètre « sort=False » est utilisé pour améliorer la vitesse de concaténation en désactivant le tri du DataFrame résultant.
Exemple : Dans cet exemple, le code utilise la bibliothèque pandas pour concaténer deux DataFrames, df1 et df, le long de leurs lignes (axe = 0). Le paramètre sort=False empêche le tri du DataFrame résultant par noms de colonnes.
Python3
result>=> pd.concat([df1, df], sort>=>False>)> print>(result)> |
>
>
Sortir :
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>
Concaténer deux ou plusieurs DataFrames Pandas en Python à l'aide de pandas.concat()
`pandas.concat()` combine deux DataFrames verticalement ou horizontalement, en les empilant l'un sur l'autre ou côte à côte, offrant un moyen flexible de concaténer des données le long d'axes spécifiés.
Exemple :Dans cet exemple, lepd.concat()>La fonction est utilisée pour concaténer ces trames de données verticalement, produisant une nouvelle trame de données nomméeresult>, etignore_index=True>est utilisé pour réinitialiser l'index. Le résultat final est imprimé.
Python3
result>=> pd.concat([df, df1], ignore_index>=>True>)> print>(result)> |
>
>
Sortir:
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éner plusieurs DataFrames en Python à l'aide de pandas.concat()
La méthode pandas.concat() est utilisée pour combiner des DataFrames soit verticalement (le long des lignes), soit horizontalement (le long des colonnes). Il prend une liste de DataFrames en entrée et les concatène en fonction de l'axe spécifié (0 pour vertical, 1 pour horizontal).
Exemple : Cet exemple utilise des pandas pour créer trois dataframes (df>,df1>, etdf2>) représentant des informations sur les cours, les frais, la durée et les réductions. Il concatène ensuite ces trames de données verticalement en utilisantpd.concat()>, créant une nouvelle trame de données nomméeresult>avec un index de réinitialisation, et la trame de données résultante est imprimée.
Python3
result>=> pd.concat([df, df1, df2], ignore_index>=>True>)> print>(result)> |
>
>
Sortir:
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 deux DataFrames en utilisant pandas.join() pour joindre deux DataFrames
Lepandas.join()>La méthode est utilisée pour concaténer des DataFrames verticalement ou horizontalement en fonction des colonnes spécifiées, en effectuant une jointure de style SQL. Il combine des lignes ou des colonnes de deux DataFrames en fonction de valeurs de colonne communes, permettant des jointures internes, externes, gauche ou droite.
Exemple : Dans cet exemple, lejoin>La méthode est utilisée pour combiner ces trames de données en fonction de leurs indices, ce qui donne lieu à une nouvelle trame de données nomméeresult>, qui est imprimé.
Python3
result>=> df.join(df1)> print>(result)> |
>
>
Sortir:
Courses Fee Duration Discount 0 GFG 20000 30day 1000 1 JS 25000 40days 2300 2 Python 22000 35days 2500 3 Numpy 24000 60days 2000>
Combinez deux dataframe en Python en utilisant DataFrame.append()
Le ' DataFrame.append() La méthode ` dans pandas est utilisée pour concaténer deux DataFrames verticalement, en ajoutant les lignes d'un DataFrame en dessous de l'autre. Il renvoie un nouveau DataFrame avec les données combinées. Assurez-vous que les deux DataFrames ont les mêmes colonnes.
Exemple : Dans cet exemple, nous utilisons leappend()>méthode, résultant en une nouvelle trame de données nomméeresult>avec un index de réinitialisation, qui est imprimé.
Python3
sélectionner SQL à partir de plusieurs tables
result>=> df.append(df1, ignore_index>=>True>)> print>(result)> |
>
>
Sortir:
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>