Concaténation verticale de DataFrames (concat avec axis=0)
La concaténation verticale de DataFrames avec concat et axis=0 permet d’assembler plusieurs DataFrames en un seul, en empilant les lignes les unes sur les autres. Cela signifie que les lignes de chaque DataFrame seront ajoutées à la suite des autres, formant un DataFrame plus grand. axis=0 indique que la concaténation se fait le long de l’axe des lignes (par opposition à l’axe des colonnes). Les DataFrames doivent avoir les mêmes colonnes pour que la concaténation soit réussie, sinon des colonnes manquantes seront remplies avec des valeurs NaN. Cela est utile lorsque vous avez plusieurs jeux de données structurés de manière identique et que vous souhaitez les fusionner en une seule table.
Fonctions :
-
concat(axis=0)
La fonction pd.concat() permet de concaténer plusieurs DataFrames le long d'un axe donné. Lorsqu'on utilise axis=0, cela signifie que les DataFrames sont concaténés verticalement, c'est-à-dire que les lignes des DataFrames sont empilées les unes sur les autres. Ce type de concaténation est souvent utilisé lorsque vous voulez fusionner plusieurs jeux de données ayant les mêmes colonnes.
Importation :
import pandas as pd
Attributs :
Paramètre Description axis=0
Concaténer les DataFrames verticalement (par ligne). ignore_index=True
Réindexer les lignes après la concaténation (utile pour éviter des index dupliqués). keys
Créer une hiérarchie d'index avec une clé pour chaque DataFrame. join='inner'
oujoin='outer'
Détermine la manière dont les colonnes des DataFrames sont fusionnées. 'inner'
ne conserve que les colonnes communes, tandis que'outer'
garde toutes les colonnes (valeurs manquantes où il n'y a pas de correspondance).Exemple de code :
import pandas as pd # Exemple de DataFrames df1 = pd.DataFrame({ 'A': [1, 2, 3], 'B': ['a', 'b', 'c'] }) df2 = pd.DataFrame({ 'A': [4, 5, 6], 'B': ['d', 'e', 'f'] }) # Concaténation verticale des DataFrames df_concat = pd.concat([df1, df2], axis=0) # Affichage du DataFrame concaténé print(df_concat)
Explication du code :
- Création des DataFrames : Nous créons deux DataFrames
df1
etdf2
ayant les mêmes colonnesA
etB
mais avec des valeurs différentes. - Concaténation avec
axis=0
: La fonctionpd.concat([df1, df2], axis=0)
concatène les deux DataFrames verticalement, c'est-à-dire que les lignes dedf2
seront ajoutées en dessous des lignes dedf1
. - Affichage : Le DataFrame résultant contient toutes les lignes des deux DataFrames originaux, empilées les unes sur les autres.
📍 Remarques
-
Indexation après concaténation : Dans l'exemple ci-dessus, l'index des lignes du DataFrame résultant est préservé tel qu'il était dans
df1
etdf2
, ce qui conduit à des indices dupliqués (0, 1, 2). Pour éviter cela, on peut utiliserignore_index=True
pour réindexer automatiquement les lignes dans le DataFrame concaténé. -
Colonnes différentes : Si les DataFrames ont des colonnes différentes, la fonction
concat()
ajoutera des colonnes manquantes dans les DataFrames. Par exemple, sidf1
a une colonneA
etB
, etdf2
a une colonneC
, la concaténation ajoutera une colonneC
avec des valeurs NaN pourdf1
. -
Jointure sur les colonnes : Vous pouvez contrôler la façon dont les colonnes sont jointes en utilisant le paramètre
join
. Par défaut,join='outer'
est utilisé, ce qui inclut toutes les colonnes des DataFrames. Si vous voulez seulement les colonnes communes, utilisezjoin='inner'.
- Création des DataFrames : Nous créons deux DataFrames