Maison > développement back-end > Tutoriel Python > Comment convertir un DataFrame Pandas en un dictionnaire avec différentes orientations ?

Comment convertir un DataFrame Pandas en un dictionnaire avec différentes orientations ?

Linda Hamilton
Libérer: 2024-12-06 03:57:12
original
1047 Les gens l'ont consulté

How to Convert a Pandas DataFrame to a Dictionary with Different Orientations?

Conversion d'un DataFrame Pandas en dictionnaire

Pour convertir un DataFrame Pandas en dictionnaire, utilisez la méthode to_dict(). Par défaut, cette méthode utilise les noms de colonnes du DataFrame comme clés de dictionnaire et crée un dictionnaire de paires index:data pour chaque colonne.

df.to_dict()
Copier après la connexion

Personnalisation de la sortie du dictionnaire

Pour obtenir une liste de valeurs pour chaque colonne au lieu d’un dictionnaire de paires index:données, utilisez l’argument orient. Voici les orientations disponibles :

  • dict : Orientation par défaut (noms de colonnes comme clés, index : paires de données comme valeurs)
  • list : Les clés sont des noms de colonnes, les valeurs sont des listes de données de colonnes
  • séries : Les clés sont noms de colonnes, les valeurs sont des objets Series contenant les données
  • split : divise les colonnes/données/index en clés distinctes
  • enregistrements : chaque ligne devient un dictionnaire avec des noms de colonnes comme clés et des valeurs de données comme valeurs
  • index : similaire à 'enregistrements', mais les clés sont des étiquettes d'index au lieu d'une liste

Exemple

Considérez le DataFrame suivant :

df = pd.DataFrame({'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]})
Copier après la connexion

Pour convertir ce DataFrame en dictionnaire avec 'ID' comme clés et les valeurs des autres colonnes comme listes, utilisez ce qui suit code :

df.set_index('ID').T.to_dict('list')
Copier après la connexion

Cela renverra le dictionnaire suivant :

{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}
Copier après la connexion

Autres orientations

Voici des exemples des différentes orientations:

dict:

df.to_dict('dict')
Copier après la connexion

Sortie:

{'ID': {'p': 'p', 'q': 'q', 'r': 'r'},
 'A': {0: 1, 1: 4, 2: 4},
 'B': {0: 3, 1: 3, 2: 0},
 'C': {0: 2, 1: 2, 2: 9}}
Copier après la connexion

l ist:

df.to_dict('list')
Copier après la connexion

Sortie :

{'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]}
Copier après la connexion

série:

df.to_dict('series')
Copier après la connexion

Sortie :

{'ID': 0    p
 1    q
 2    r
 Name: ID, dtype: object,
 'A': 0    1
 1    4
 2    4
 Name: A, dtype: int64,
 'B': 0    3
 1    3
 2    0
 Name: B, dtype: int64,
 'C': 0    2
 1    2
 2    9
 Name: C, dtype: int64}
Copier après la connexion

diviser:

df.to_dict('split')
Copier après la connexion

Sortie :

{'columns': ['ID', 'A', 'B', 'C'], 'data': [['p', 1, 3, 2], ['q', 4, 3, 2], ['r', 4, 0, 9]], 'index': [0, 1, 2]}
Copier après la connexion

enregistrements :

df.to_dict('records')
Copier après la connexion

Sortie :

[{'ID': 'p', 'A': 1, 'B': 3, 'C': 2}, {'ID': 'q', 'A': 4, 'B': 3, 'C': 2}, {'ID': 'r', 'A': 4, 'B': 0, 'C': 9}]
Copier après la connexion

index:

df.to_dict('index')
Copier après la connexion

Sortie :

{0: {'ID': 'p', 'A': 1, 'B': 3, 'C': 2},
 1: {'ID': 'q', 'A': 4, 'B': 3, 'C': 2},
 2: {'ID': 'r', 'A': 4, 'B': 0, 'C': 9}}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal