Comment fusionner / concatener deux dataframes avec pandas en python ?

Published: 11 avril 2020

Tags: Pandas; python;

DMCA.com Protection Status

Exemples simples de comment fusionner / concatener deux dataframes avec pandas en python:

Créer une simple dataframe

Commençons par créer une simple dataframe df1:

>>> import pandas as pd
>>> import numpy as np
>>> data = np.arange(1,13)
>>> data = data.reshape(3,4)
>>> df1 = pd.DataFrame(data=data,columns=['a','b','c','d'])
>>> df1
   a   b   c   d
0  1   2   3   4
1  5   6   7   8
2  9  10  11  12

Concatener sur l'axe 0

Créons une seconde dataframe df2

>>> df2 = pd.DataFrame(data=[[13,14,15,16],[17,18,19,20]],columns=['a','b','c','d'])
>>> df2
    a   b   c   d
0  13  14  15  16
1  17  18  19  20

pour combiner df1 et df2, une solution est d'utiliser la fonction pandas concat():

>>> df3 = pd.concat([df1,df2], ignore_index=True)
>>> df3
    a   b   c   d
0   1   2   3   4
1   5   6   7   8
2   9  10  11  12
3  13  14  15  16
4  17  18  19  20

Concatener sur l'axe 1

Autre exemple avec la dataframe suivante

>>> df2 = pd.DataFrame(data=[[13,14],[15,16],[17,18]],columns=['e','f'])
>>> df2
    e   f
0  13  14
1  15  16
2  17  18

pour combiner df1 et df2 sur l'axe 1 on peut faire comme ceci:

>>> df3 = pd.concat([df1,df2], axis=1)
>>> df3
   a   b   c   d   e   f
0  1   2   3   4  13  14
1  5   6   7   8  15  16
2  9  10  11  12  17  18

Aller plus loin

Pour des cas plus complexes voir Merge, join, and concatenate sur pandas.pydata.org.

Références