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