Comment convertir le dictionnaire Python en Pandas DataFrame

  1. Méthode de conversion du dictionnaire en DataFame de Pandas
  2. Méthode de conversion des clés en colonnes et des valeurs en ligne dans la dataframe de Pandas
  3. Méthode pandas.DataFrame().from_dict() pour convertir dict en dataframe

Nous allons présenter la méthode pour convertir le dictionnaire Python en datafarme Pandas, et les options comme avoir des clés pour les colonnes et des valeurs pour les lignes. Nous pourrions également convertir le dictionnaire imbriqué en dataframe.

Nous allons également introduire une autre approche en utilisant pandas.DataFrame.from_dict, et nous allons l’enchaîner avec n’importe quelle méthode rename pour définir les noms de l’index et des colonnes en une seule fois.

Méthode de conversion du dictionnaire en DataFame de Pandas

Le constructeur de Pandas DataFrame pd.DataFrame() convertit le dictionnaire en dataframe si les éléments du dictionnaire sont donnés comme argument du constructeur, mais pas le dictionnaire lui-même.

# python 3.x
import pandas as pd

fruit_dict = {
    3: 'apple',
    2: 'banana',
    6:'mango',
    4:'apricot',
    1:'kiwi',
    8:'orange'}

print(pd.DataFrame(list(fruit_dict.items()),
                   columns=['Quantity', 'FruitName']))

Les clés et les valeurs du dictionnaire sont converties en deux colonnes de la dataframe avec les noms de colonnes donnés dans les options columns.

   Quantity FruitName
0         3     apple
1         2    banana
2         6     mango
3         4   apricot
4         1      kiwi
5         8    orange

Méthode de conversion des clés en colonnes et des valeurs en ligne dans la dataframe de Pandas

Nous pouvons simplement mettre des crochets autour du dictionnaire et retirer le nom de la colonne du code ci-dessus comme ceci:

import pandas as pd

fruit_dict = {
    1: 'apple',
    2: 'banana',
    3:'mango',
    4:'apricot',
    5:'kiwi',
    6:'orange'}

print(pd.DataFrame([fruit_dict]))

Production:

       1       2      3        4     5       6
0  apple  banana  mango  apricot  kiwi  orange

Nous utiliserons Pandas compréhension de dictionnaire avec concat pour combiner tous les dictionnaires et ensuite passer la liste pour donner de nouveaux noms de colonnes.

Considérons le code suivant,

import pandas as pd

data = {
    '1':{
        'apple':11, 
        'banana':18}, 
    '2':{
        'apple':16, 
        'banana':12}
}
df = pd.concat({k: pd.Series(v) for k, v in data.items()}).reset_index()
df.columns = ['dict_index', 'name','quantity']
print(df)

Production:

  dict_index    name  quantity
0          1   apple        11
1          1  banana        18
2          2   apple        16
3          2  banana        12

Méthode pandas.DataFrame().from_dict() pour convertir dict en dataframe

Nous allons utiliser from_dict pour convertir dict en dataframe, ici nous mettons orient='index' pour utiliser les clés du dictionnaire comme lignes et appliquer la méthode rename() pour changer le nom de la colonne.

Considérons le code suivant,

import pandas as pd

print(pd.DataFrame.from_dict({
 'apple': 3,
 'banana': 5,
 'mango': 7,
 'apricot': 1,
 'kiwi': 8,
 'orange': 3}, orient='index').rename(columns={0:'Qunatity'}))

Production:

         Quantity
apple           3
banana          5
mango           7
apricot         1
kiwi            8
orange          3

Article connexe - Pandas DataFrame

  • Comment ajouter une nouvelle colonne à DataFrame existant avec une valeur par défaut dans Pandas
  • Déposer les colonnes par index dans Pandas DataFrame