Comment extraire efficacement l'union des chaînes des DataFrames Pandas groupés ?

Patricia Arquette
Libérer: 2024-10-25 05:48:29
original
988 Les gens l'ont consulté

How to Efficiently Extract the Union of Strings from Grouped Pandas DataFrames?

Union de chaînes dans Pandas GroupBy

Cette question répond à un défi commun : extraire une union de chaînes d'un Pandas DataFrame regroupées par un spécifique colonne. Malheureusement, utiliser la fonction sum() sur une colonne contenant des chaînes ne les concatène pas. Au lieu de cela, cet article explore des méthodes alternatives pour obtenir le résultat souhaité.

Utiliser GroupBy avec une fonction personnalisée

Une solution consiste à définir une fonction personnalisée qui applique une opération spécifique. à chaque groupe. Par exemple, nous pouvons utiliser la méthode apply() pour parcourir les groupes et renvoyer la valeur souhaitée. Voici comment :

<code class="python">def my_function(group):
    return "{%s}" % ', '.join(group['C'])</code>
Copier après la connexion

Cette fonction combine les chaînes de la colonne « C » de chaque groupe dans un ensemble entouré d'accolades.

<code class="python">df.groupby('A')['C'].apply(my_function)</code>
Copier après la connexion

Utilisation de GroupBy avec lambda Expression

Une syntaxe plus simple consiste à utiliser une expression lambda :

<code class="python">df.groupby('A')['C'].apply(lambda x: "{%s}" % ', '.join(x))</code>
Copier après la connexion

Cette expression lambda effectue la même opération de concaténation que la fonction personnalisée.

Combinaison de groupes

Parfois, il peut être utile de combiner les informations de plusieurs groupes en une seule série. Voici un exemple :

<code class="python">def f(group):
    return Series(dict(A=group['A'].sum(),
                       B=group['B'].sum(),
                       C="{%s}" % ', '.join(group['C'])))</code>
Copier après la connexion

Cette fonction agrège les colonnes « A » et « B » à l'aide de sum() et combine les colonnes « C » dans un ensemble.

<code class="python">df.groupby('A').apply(f)</code>
Copier après la connexion

Ceci L'approche génère un DataFrame avec les valeurs agrégées pour chaque groupe.

En employant ces méthodes, vous pouvez extraire efficacement l'union des chaînes des DataFrames Pandas groupés, ouvrant ainsi la possibilité d'analyser et de visualiser des données textuelles de manière significative. .

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!