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'])>>> df1a b c d0 1 2 3 41 5 6 7 82 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'])>>> df2a b c d0 13 14 15 161 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)>>> df3a b c d0 1 2 3 41 5 6 7 82 9 10 11 123 13 14 15 164 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'])>>> df2e f0 13 141 15 162 17 18
pour combiner df1 et df2 sur l'axe 1 on peut faire comme ceci:
>>> df3 = pd.concat([df1,df2], axis=1)>>> df3a b c d e f0 1 2 3 4 13 141 5 6 7 8 15 162 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
| Liens | Site |
|---|---|
| Merge, join, and concatenate | pandas doc |
| concat() | pandas.pydata.org |
| Pandas : How to create an empty DataFrame and append rows & columns to it in python | thispointer.com |
| Add one row to pandas DataFrame | stackoverflow |
| Adding new column to existing DataFrame in Pandas | stackoverflow |
