Fonction pandas.concat() en Python
La fonction pandas.concat() fait tout le gros du travail consistant à effectuer des opérations de concaténation avec un axe de Objets pandas tout en effectuant une logique d'ensemble facultative (union ou intersection) des index (le cas échéant) sur les autres axes.
Syntaxe de la fonction Pandas concat()
Syntaxe: concat(objs, axis, join, ignore_index, clés, niveaux, noms, verify_integrity, sort, copy)
Paramètres:
- obs. : Objets Series ou DataFrame
- axe: axe à concaténer le long ; par défaut = 0
- rejoindre: chemin pour gérer les index sur un autre axe ; par défaut = 'externe'
- ignore_index : si True, n'utilisez pas les valeurs d'index le long de l'axe de concaténation ; par défaut = Faux
- clés: séquence pour ajouter un identifiant aux index de résultats ; par défaut = Aucun
- les niveaux: niveaux spécifiques (valeurs uniques) à utiliser pour construire un MultiIndex ; par défaut = Aucun
- des noms: les noms des niveaux dans l'index hiérarchique résultant ; par défaut = Aucun
- verify_integrity : vérifiez si le nouvel axe concaténé contient des doublons ; par défaut = Faux
- trier: trier l'axe de non-concaténation s'il n'est pas déjà aligné lorsque la jointure est « externe » ; par défaut = Faux
- copie: si False, ne copiez pas les données inutilement ; par défaut = Vrai
Retour: type d'objs (Série de DataFrame)
Concaténer à l'aide de Pandas avec des exemples
Exemple 1: Concaténer des DataFrames en Python
Dans cet exemple, nous concaténons deux séries avec des paramètres par défaut dans Pandas .
Python3
# importing the module> import> pandas as pd> # creating the Series> series1> => pd.Series([> 1> ,> 2> ,> 3> ])> display(> 'series1:'> , series1)> series2> => pd.Series([> 'A'> ,> 'B'> ,> 'C'> ])> display(> 'series2:'> , series2)> # concatenating> display(> 'After concatenating:'> )> display(pd.concat([series1, series2]))> |
Sortir
Exemple 2 : Pandas combinant deux dataframes horizontalement avec index = 1
Dans cet exemple, nous créons deux séries Pandas ( series1> et series2> ), puis les concatène le long des colonnes (axe = 1) en utilisant pd.concat()> . Le DataFrame résultant contient les deux séries sous forme de colonnes, créant ainsi un nouveau DataFrame avec deux colonnes.
Python3
# importing the module> import> pandas as pd> # creating the Series> series1> => pd.Series([> 1> ,> 2> ,> 3> ])> display(> 'series1:'> , series1)> series2> => pd.Series([> 'A'> ,> 'B'> ,> 'C'> ])> display(> 'series2:'> , series2)> # concatenating> display(> 'After concatenating:'> )> display(pd.concat([series1, series2],> > axis> => 1> ))> |
Sortir
Exemple 3 : Concaténation de 2 DataFrames et attribution de clés
crée deux DataFrames ( df1> et df2> ), et les concatène avec les clés attribuées à chaque DataFrame à l'aide pd.concat()> . Le DataFrame résultant possède un index hiérarchique avec les clés « key1 » et « key2 », distinguant l'origine de chaque ensemble de données.
Python3
# importing the module> import> pandas as pd> # creating the DataFrames> df1> => pd.DataFrame({> 'A'> : [> 'A0'> ,> 'A1'> ,> 'A2'> ,> 'A3'> ],> > 'B'> : [> 'B0'> ,> 'B1'> ,> 'B2'> ,> 'B3'> ]})> display(> 'df1:'> , df1)> df2> => pd.DataFrame({> 'A'> : [> 'A4'> ,> 'A5'> ,> 'A6'> ,> 'A7'> ],> > 'B'> : [> 'B4'> ,> 'B5'> ,> 'B6'> ,> 'B7'> ]})> display(> 'df2:'> , df2)> # concatenating> display(> 'After concatenating:'> )> display(pd.concat([df1, df2],> > keys> => [> 'key1'> ,> 'key2'> ]))> |
Sortir
Exemple 4 : Concaténation de DataFrames horizontalement dans Pandas avec axe = 1
crée deux DataFrames ( df1> et df2> ), et les concatène le long des colonnes (axe = 1) en utilisant pd.concat()> . Le DataFrame résultant combine les colonnes des deux df1> et df2> , en les alignant côte à côte .
Python3
# importing the module> import> pandas as pd> # creating the DataFrames> df1> => pd.DataFrame({> 'A'> : [> 'A0'> ,> 'A1'> ,> 'A2'> ,> 'A3'> ],> > 'B'> : [> 'B0'> ,> 'B1'> ,> 'B2'> ,> 'B3'> ]})> display(> 'df1:'> , df1)> df2> => pd.DataFrame({> 'C'> : [> 'C0'> ,> 'C1'> ,> 'C2'> ,> 'C3'> ],> > 'D'> : [> 'D0'> ,> 'D1'> ,> 'D2'> ,> 'D3'> ]})> display(> 'df2:'> , df2)> # concatenating> display(> 'After concatenating:'> )> display(pd.concat([df1, df2],> > axis> => 1> ))> |
Sortir
Exemple 5 : Concaténation de 2 DataFrames avec ignore_index = True
crée deux DataFrames ( df1> et df2> ) avec des colonnes identiques, et les concatène verticalement en utilisant pd.concat()> avec ignore_index=True> . Le DataFrame résultant a un index continu, ignorant les indices d'origine de df1> et df2> .
Python3
# importing the module> import> pandas as pd> # creating the DataFrames> df1> => pd.DataFrame({> 'A'> : [> 'A0'> ,> 'A1'> ,> 'A2'> ,> 'A3'> ],> > 'B'> : [> 'B0'> ,> 'B1'> ,> 'B2'> ,> 'B3'> ]})> display(> 'df1:'> , df1)> df2> => pd.DataFrame({> 'A'> : [> 'A4'> ,> 'A5'> ,> 'A6'> ,> 'A7'> ],> > 'B'> : [> 'B4'> ,> 'B5'> ,> 'B6'> ,> 'B7'> ]})> display(> 'df2:'> , df2)> # concatenating> display(> 'After concatenating:'> )> display(pd.concat([df1, df2],> > ignore_index> => True> ))> |
Sortir
Exemple 6 : Concaténer un DataFrame avec une série
crée un DataFrame ( df> ) et une série ( series> ), puis les concatène le long des colonnes (axe = 1) en utilisant pd.concat()> . Le DataFrame résultant combine les colonnes de df> et la Série, en les alignant côte à côte. Remarque : Il y a une faute de frappe dans l'instruction d'affichage ( df1> au lieu de df> ).
Python3
# importing the module> import> pandas as pd> # creating the DataFrame> df> => pd.DataFrame({> 'A'> : [> 'A0'> ,> 'A1'> ,> 'A2'> ,> 'A3'> ],> > 'B'> : [> 'B0'> ,> 'B1'> ,> 'B2'> ,> 'B3'> ]})> display(> 'df:'> , df1)> # creating the Series> series> => pd.Series([> 1> ,> 2> ,> 3> ,> 4> ])> display(> 'series:'> , series)> # concatenating> display(> 'After concatenating:'> )> display(pd.concat([df, series],> > axis> => 1> ))> |
Sortir