Maison > développement back-end > Tutoriel Python > Comment regrouper des données Excel par colonne et créer un dictionnaire de listes en Python ?

Comment regrouper des données Excel par colonne et créer un dictionnaire de listes en Python ?

Susan Sarandon
Libérer: 2024-10-30 03:17:02
original
568 Les gens l'ont consulté

How to Group Excel Data by Column and Create a Dictionary of Lists in Python?

Résultats Excel GroupBy vers dictionnaire de listes

Vous disposez d'une feuille de calcul Excel avec des données organisées en trois colonnes : Colonne1, Colonne2 et Colonne3. Vous souhaitez extraire ces données et les regrouper par Colonne1 afin que chaque valeur unique de Colonne1 corresponde à une liste de valeurs de Colonne3.

Code :

Vous avez J'ai déjà essayé d'utiliser la fonction groupby() sur Column1, mais la sortie contient des indices au lieu des valeurs réelles de Column3. Pour corriger cela, vous devez préciser sur quelle colonne vous souhaitez regrouper et quelle colonne vous souhaitez extraire :

<code class="python">df = pandas.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols=['Column1', 'Column3'])
result = df.groupby('Column1')['Column3'].apply(list).to_dict()</code>
Copier après la connexion

Explication :

  • groupby () regroupe les données selon les valeurs de la colonne 1.
  • apply(list) applique la fonction de liste à chaque sous-groupe, convertissant les valeurs de la colonne 3 en un list.
  • to_dict() convertit les données groupées en un dictionnaire, où les clés sont les valeurs de la colonne 1 et les valeurs sont les listes de valeurs de la colonne 3.

Code alternatif :

Une autre façon d'obtenir le même résultat consiste à utiliser un dictionnaire compréhension :

<code class="python">result = {k: list(v) for k, v in df.groupby('Column1')['Column3']}</code>
Copier après la connexion

Sortie :

Les deux extraits de code produisent le résultat souhaité :

{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}
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