Maison >développement back-end >Tutoriel Python >Comment convertir les résultats Pandas GroupBy en un dictionnaire de listes ?
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!