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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *