Maison >développement back-end >Tutoriel Python >Comment convertir un DataFrame Pandas en un dictionnaire avec des valeurs de liste ?

Comment convertir un DataFrame Pandas en un dictionnaire avec des valeurs de liste ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-14 08:44:10326parcourir

How to Convert a Pandas DataFrame to a Dictionary with List Values?

Convertir un DataFrame Pandas en dictionnaire

Dans de nombreuses tâches de manipulation de données, l'extraction des données d'un DataFrame Pandas dans un format pratique est nécessaire. Un besoin courant est de convertir un DataFrame en dictionnaire Python, où les éléments de la première colonne deviennent des clés et les éléments des autres colonnes de la même ligne deviennent des valeurs.

Exemple

Considérez le DataFrame suivant :

    ID   A   B   C
0   p    1   3   2
1   q    4   3   2
2   r    4   0   9

Nous souhaitons convertir ce DataFrame en un dictionnaire des éléments suivants form:

{'p': [1,3,2], 'q': [4,3,2], 'r': [4,0,9]}

Solution

Pour y parvenir, nous pouvons utiliser la méthode to_dict() fournie par Pandas. Cependant, pour aligner le DataFrame dans le format souhaité, nous devons définir la colonne 'ID' comme index et transposer le DataFrame en utilisant .T. De plus, nous spécifions l'argument orient dans to_dict() pour afficher une liste de valeurs pour chaque colonne.

Le code suivant illustre cette approche :

df.set_index('ID').T.to_dict('list')

Cela produira le dictionnaire souhaité :

{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}

Options alternatives

Au-delà du format de dictée par défaut, Pandas propose une gamme d'options pour générer des dictionnaires en utilisant l'argument orient :

  • dict: Noms de colonnes comme clés, valeurs comme dictionnaires d'index: paires de données
  • liste: Les clés sont noms de colonnes, les valeurs sont des listes de données de colonnes
  • série : Similaire à « liste », mais les valeurs sont Objets de série
  • split :Noms de colonnes en tant que clés, valeurs de données en tant que valeurs et étiquettes d'index en tant que clé distincte
  • enregistrements : Chaque ligne devient un dictionnaire avec des noms de colonnes comme clés et des données comme valeurs
  • index : Semblable aux « enregistrements », mais un dictionnaire de dictionnaires avec des étiquettes d'index comme clés

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!

Déclaration:
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