Maison >développement back-end >Tutoriel Python >Comment convertir les résultats Pandas GroupBy en un dictionnaire de listes ?

Comment convertir les résultats Pandas GroupBy en un dictionnaire de listes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-02 16:26:02320parcourir

How to Convert Pandas GroupBy Results into a Dictionary of Lists?

Conversion des résultats GroupBy en dictionnaire de listes

Afin d'extraire et de regrouper des données à partir d'une feuille Excel, il est courant d'utiliser le groupby fonction de la bibliothèque pandas. Cependant, lorsque le résultat souhaité est un dictionnaire dans lequel les clés correspondent aux valeurs de groupe et les valeurs sont des listes d'éléments correspondants, l'approche conventionnelle peut ne pas suffire.

Pour répondre à cette exigence spécifique, une solution consiste à utiliser les méthodes apply et fonctions to_dict. La fonction apply permet d'appliquer une fonction à chaque groupe, dans ce cas, de convertir Column3 en liste. La fonction to_dict convertit ensuite le résultat en dictionnaire. Le code suivant illustre cette approche :

<code class="python">import pandas as pd

excel = pd.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols'A,C')
result = excel.groupby('Column1')['Column3'].apply(list).to_dict()</code>

Ce code générera le résultat souhaité :

{0: [1],
1: [2, 3, 5],
2: [1, 2],
3: [4, 5],
4: [1],
5: [1, 2, 3]}

Alternativement, une solution plus compacte consiste à utiliser une compréhension de dictionnaire :

<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']}</code>

Cette approche produit également le même résultat souhaité, fournissant une mise en œuvre concise et efficace.

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