Pandas : Comment concaténer des chaînes à l’aide de GroupBy
Vous pouvez utiliser la syntaxe de base suivante pour concaténer des chaînes à partir de GroupBy dans pandas :
df.groupby(['group_var'], as_index=False).agg({'string_var': ' '.join})
Cette formule particulière regroupe les lignes par la colonne group_var , puis concatène les chaînes dans la colonne string_var .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Comment concaténer des chaînes à l’aide de GroupBy
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'store': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'quarter': [1, 1, 2, 2, 1, 1, 2, 2],
'employee': ['Andy', 'Bob', 'Chad', 'Diane',
'Elana', 'Frank', 'George', 'Hank']})
#view DataFrame
print(df)
Nous pouvons utiliser la syntaxe suivante pour regrouper les lignes du DataFrame par magasin et par trimestre puis concaténer les chaînes dans la colonne employé :
#group by store and quarter, then concatenate employee strings
df.groupby(['store', 'quarter'], as_index=False).agg({'employee': ' '.join})
store quarter employee
0 A 1 Andy Bob
1 A 2 Chad Diane
2 B 1 Elana Frank
3 B 2 George Hank
Le résultat est un DataFrame regroupé par magasin et par trimestre avec les chaînes de la colonne des employés concaténées avec un espace.
Nous pourrions également concaténer les chaînes en utilisant un séparateur différent tel que le symbole & :
#group by store and quarter, then concatenate employee strings
df.groupby(['store', 'quarter'], as_index=False).agg({'employee': ' & '.join})
store quarter employee
0 A 1 Andy & Bob
1 A 2 Chad & Diane
2 B 1 Elana & Frank
3 B 2 George & Hank
Notez que les chaînes de la colonne employé sont désormais séparées par le symbole & .
Remarque : Vous pouvez trouver la documentation complète de l’opération GroupBy dans pandas ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Pandas : comment calculer la somme cumulée par groupe
Pandas : comment compter les valeurs uniques par groupe
Pandas : comment calculer la corrélation par groupe