Pandas : convertir rapidement un DataFrame en dictionnaire



Vous pouvez utiliser la syntaxe suivante pour convertir un DataFrame pandas en dictionnaire :

df.to_dict()

Notez que to_dict() accepte les arguments potentiels suivants :

  • dict : (par défaut) Les clés sont des noms de colonnes. Les valeurs sont des dictionnaires de paires index:données.
  • list : les clés sont des noms de colonnes. Les valeurs sont des listes de données de colonnes.
  • series : les clés sont des noms de colonnes. Les valeurs sont des séries de données de colonnes.
  • split : les clés sont « colonnes », « données » et « index ».
  • records : les clés sont des noms de colonnes. Les valeurs sont des données dans des cellules.
  • index : les clés sont des étiquettes d’index. Les valeurs sont des données dans des cellules.

Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'C'],
                   'points': [5, 7, 9, 12, 9],
                   'rebounds': [11, 8, 6, 6, 5]})

#view DataFrame
df

	team	points	rebounds
0	A	5	11
1	A	7	8
2	B	9	6
3	B	12	6
4	C	9	5

Exemple 1 : Convertir un DataFrame en dictionnaire (« dict »)

Le code suivant montre comment convertir un DataFrame pandas en dictionnaire à l’aide de la méthode ‘ dict ‘ par défaut :

df.to_dict()

{'team': {0: 'A', 1: 'A', 2: 'B', 3: 'B', 4: 'C'},
 'points': {0: 5, 1: 7, 2: 9, 3: 12, 4: 9},
 'rebounds': {0: 11, 1: 8, 2: 6, 3: 6, 4: 5}}

Exemple 2 : convertir un DataFrame en dictionnaire (« liste »)

Le code suivant montre comment convertir un DataFrame pandas en dictionnaire à l’aide de la méthode ‘ list ‘ :

df.to_dict('list')

{'team': ['A', 'A', 'B', 'B', 'C'],
 'points': [5, 7, 9, 12, 9],
 'rebounds': [11, 8, 6, 6, 5]}

Exemple 3 : Convertir un DataFrame en dictionnaire (« série »)

Le code suivant montre comment convertir un DataFrame pandas en dictionnaire à l’aide de la méthode ‘ series ‘ :

df.to_dict('series')

{'team': 0    A
 1    A
 2    B
 3    B
 4    C
 Name: team, dtype: object,
 'points': 0     5
 1     7
 2     9
 3    12
 4     9
 Name: points, dtype: int64,
 'rebounds': 0    11
 1     8
 2     6
 3     6
 4     5
 Name: rebounds, dtype: int64}

Exemple 4 : Convertir un DataFrame en dictionnaire (« split »)

Le code suivant montre comment convertir un DataFrame pandas en dictionnaire à l’aide de la méthode ‘ split ‘ :

df.to_dict('split')

{'index': [0, 1, 2, 3, 4],
 'columns': ['team', 'points', 'rebounds'],
 'data': [['A', 5, 11], ['A', 7, 8], ['B', 9, 6], ['B', 12, 6], ['C', 9, 5]]}

Exemple 5 : Convertir un DataFrame en dictionnaire (« enregistrements »)

Le code suivant montre comment convertir un DataFrame pandas en dictionnaire à l’aide de la méthode ‘ records ‘ :

df.to_dict('records')

[{'team': 'A', 'points': 5, 'rebounds': 11},
 {'team': 'A', 'points': 7, 'rebounds': 8},
 {'team': 'B', 'points': 9, 'rebounds': 6},
 {'team': 'B', 'points': 12, 'rebounds': 6},
 {'team': 'C', 'points': 9, 'rebounds': 5}]

Exemple 6 : Convertir un DataFrame en dictionnaire (« index »)

Le code suivant montre comment convertir un DataFrame pandas en dictionnaire à l’aide de la méthode ‘ index ‘ :

df.to_dict('index')

{0: {'team': 'A', 'points': 5, 'rebounds': 11},
 1: {'team': 'A', 'points': 7, 'rebounds': 8},
 2: {'team': 'B', 'points': 9, 'rebounds': 6},
 3: {'team': 'B', 'points': 12, 'rebounds': 6},
 4: {'team': 'C', 'points': 9, 'rebounds': 5}}

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres conversions de données courantes dans les pandas :

Comment convertir Pandas DataFrame en tableau NumPy
Comment convertir la série Pandas en tableau NumPy
Comment convertir le DataFrame Pandas en liste

Ajouter un commentaire

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