Comment créer un DataFrame imbriqué dans Pandas (avec exemple)
Vous pouvez utiliser la syntaxe suivante pour imbriquer plusieurs DataFrames pandas dans un autre DataFrame :
df_all = pd.DataFrame({'idx':[1,2,3], 'dfs':[df1, df2, df3]})
Cet exemple particulier imbrique trois DataFrames ( df1 , df2 , df3 ) dans un DataFrame plus grand appelé df_all .
Vous pouvez ensuite utiliser la syntaxe suivante pour accéder à l’un des DataFrames imbriqués spécifiques :
#display first nested DataFrame print(df_all['dfs'].iloc[0])
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : créer un DataFrame imbriqué dans Pandas
Supposons que nous ayons trois DataFrames pandas :
import pandas as pd #create first DataFrame df1 = pd.DataFrame({'item': ['A', 'B', 'C', 'D', 'E'], 'sales': [18, 22, 19, 14, 30]}) print(df1) item sales 0 A 18 1 B 22 2 C 19 3 D 14 4 E 30 #create second DataFrame df2 = pd.DataFrame({'item': ['F', 'G', 'H', 'I', 'J'], 'sales': [10, 12, 13, 13, 19]}) print(df2) item sales 0 F 10 1 G 12 2 H 13 3 I 13 4 J 19 #create third DataFrame df3 = pd.DataFrame({'item': ['K', 'L', 'M', 'N', 'O'], 'sales': [41, 22, 28, 25, 18]}) print(df3) item sales 0 K 41 1 L 22 2 M 28 3 N 25 4 O 18
Supposons maintenant que nous souhaitions créer un grand DataFrame pour contenir ces trois DataFrames.
Nous pouvons utiliser la syntaxe suivante pour ce faire :
df_all = pd.DataFrame({'idx':[1,2,3], 'dfs':[df1, df2, df3]})
Nous pouvons ensuite utiliser la fonction pandas iloc pour accéder à des DataFrames imbriqués spécifiques.
Par exemple, nous pouvons utiliser la syntaxe suivante pour accéder au premier DataFrame imbriqué :
#display first nested DataFrame print(df_all['dfs'].iloc[0]) item sales 0 A 18 1 B 22 2 C 19 3 D 14 4 E 30
Ou nous pourrions utiliser la syntaxe suivante pour accéder au deuxième DataFrame imbriqué :
#display second nested DataFrame print(df_all['dfs'].iloc[1]) item sales 0 F 10 1 G 12 2 H 13 3 I 13 4 J 19
Et ainsi de suite.
Ressources additionnelles
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans les pandas :
Comment convertir un index en colonne dans Pandas
Comment renommer l’index dans Pandas
Comment définir la colonne comme index dans Pandas