Maison > développement back-end > Tutoriel Python > Comment regrouper les lignes DataFrame et créer des listes de valeurs à l'aide de Pandas ?

Comment regrouper les lignes DataFrame et créer des listes de valeurs à l'aide de Pandas ?

Mary-Kate Olsen
Libérer: 2024-12-17 20:54:10
original
884 Les gens l'ont consulté

How to Group DataFrame Rows and Create Lists of Values Using Pandas?

Comment transformer des lignes de dataframe en listes groupées à l'aide de Pandas Groupby

Problème :

Donné un DataFrame avec plusieurs colonnes, le but est de regrouper les lignes en fonction d'une colonne spécifique (par exemple, la première colonne) et rassemblez les valeurs d'une autre colonne (par exemple, la deuxième colonne) dans des listes au sein de chaque groupe. Par exemple :

DataFrame d'origine :

a b
A 1
A 2
B 5
B 5
B 4
C 6

Résultat souhaité :

a new
A [1, 2]
B [5, 5, 4]
C [6]

Solution :

Pour y parvenir résultat, la fonction groupby des pandas peut être utilisée avec la méthode apply() pour convertir chaque groupe en un list.

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'a': ['A', 'A', 'B', 'B', 'B', 'C'], 'b': [1, 2, 5, 5, 4, 6]})

# Group by the "a" column and create lists of "b" values
grouped_list = df.groupby('a')['b'].apply(list)

# Reset the index to obtain a DataFrame
df1 = grouped_list.reset_index(name='new')
Copier après la connexion

Explication :

  • groupby('a') : regroupe le DataFrame par la colonne "a" .
  • apply(list) : applique la fonction list() à chaque groupe, convertissant les valeurs "b" en listes.
  • reset_index(name='new') : Réinitialise l'index et attribue le nouveau nom de colonne "new" aux listes groupées.

Le DataFrame résultant, df1, contiendra les listes groupées souhaitées :

   a        new
0  A     [1, 2]
1  B  [5, 5, 4]
2  C        [6]
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