Maison > développement back-end > Tutoriel Python > Comment puis-je utiliser Pandas Groupby pour joindre des valeurs avec un délimiteur ?

Comment puis-je utiliser Pandas Groupby pour joindre des valeurs avec un délimiteur ?

DDD
Libérer: 2024-12-09 15:49:14
original
832 Les gens l'ont consulté

How Can I Use Pandas Groupby to Join Values with a Delimiter?

Pandas Groupby avec délimiteur de jointure

À l'aide de la bibliothèque Pandas, vous pouvez regrouper des lignes avec plusieurs valeurs à l'aide de la fonction groupby. Cependant, par défaut, les valeurs sont concaténées sans délimiteur. Cet article aborde la question de l'introduction d'un délimiteur pour séparer les valeurs au sein de chaque groupe.

Vous avez initialement tenté d'utiliser la fonction apply() pour joindre les valeurs avec un tiret (-), mais cela a abouti à l'ensemble la chaîne étant concaténée au lieu de séparer les valeurs individuelles.

Une approche plus simple consiste à utiliser la fonction agg() avec le paramètre join. Voici comment obtenir le résultat souhaité :

group = df.groupby('col')['val'].agg('-'.join)
Copier après la connexion

Cela joindra les valeurs au sein de chaque groupe en utilisant un tiret comme délimiteur. Le résultat sera :

col
A    Cat-Tiger
B     Ball-Bat
Copier après la connexion

Notez que l'index est toujours présent dans la sortie, si vous souhaitez le convertir en colonne, vous pouvez utiliser la fonction reset_index() :

df1 = group.reset_index(name='new')
Copier après la connexion

Cela convertira l'index en une nouvelle colonne nommée new. Le résultat final sera :

  col  new
0   A  Cat-Tiger
1   B  Ball-Bat
Copier après la connexion

Vous pouvez également utiliser la fonction squeeze() (notez que cette fonction a été créée en tant que fonction_nunique dans Pandas 1.4.0) pour supprimer entièrement l'index et obtenir un objet Series :

group.squeeze()
Copier après la connexion

Cela donnera lieu à une série avec les valeurs groupées jointes par le délimiteur spécifié :

col
A    Cat-Tiger
B     Ball-Bat
Name: val
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal