Maison >développement back-end >Tutoriel Python >Comment combiner des chaînes au sein de groupes à l'aide de Pandas groupby ?

Comment combiner des chaînes au sein de groupes à l'aide de Pandas groupby ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-24 19:06:291048parcourir

How to Combine Strings Within Groups Using Pandas groupby?

Pandas groupby : Comment obtenir une union de chaînes

Le DataFrame fourni contient trois colonnes : A, B et C. Le but est de regrouper le DataFrame par colonne A et obtenez une union de chaînes de la colonne C pour chaque groupe.

Par défaut, groupby additionne les colonnes numériques, ce qui ne fonctionne pas pour les chaînes.

Utilisation d'une fonction personnalisée

Une approche consiste à définir une fonction qui concatène les chaînes au sein de chaque groupe à l'aide de la méthode join :

<code class="python">def f(x):
    return "{%s}" % ', '.join(x)</code>

Et appliquer cette fonction au DataFrame groupé :

<code class="python">result = df.groupby('A')['C'].apply(f)</code>

Cette approche produit le résultat souhaité :

A
1    {This, string}
2           {is, !}
3               {a}
4          {random}

Utilisation de la somme et de la concaténation

Une autre option consiste à forcer la somme à concaténer les chaînes en modifiant le type de données :

<code class="python">df['C'] = df['C'].astype(str)
result = df.groupby('A')['C'].sum()</code>

Cela également donne le résultat souhaité.

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