Maison > développement back-end > Tutoriel Python > Comment concaténer des chaînes de plusieurs lignes Pandas DataFrame à l'aide de GroupBy ?

Comment concaténer des chaînes de plusieurs lignes Pandas DataFrame à l'aide de GroupBy ?

Patricia Arquette
Libérer: 2024-12-14 14:05:13
original
468 Les gens l'ont consulté

How to Concatenate Strings from Multiple Pandas DataFrame Rows using GroupBy?

Concaténation de chaînes de plusieurs lignes à l'aide de Pandas GroupBy

Pour concaténer des chaînes de plusieurs lignes dans une colonne à l'aide du groupby de Pandas, nous pouvons exploiter un combinaison de techniques de groupby et de transformation.

Considérez l'ensemble de données suivant, où nous souhaitons concaténer les Colonne "texte" pour chaque groupe de "nom" et "mois":

import pandas as pd
from io import StringIO

data = StringIO(
    "\n".join([
        '"name1","hej","2014-11-01"',
        '"name1","du","2014-11-02"',
        '"name1","aj","2014-12-01"',
        '"name1","oj","2014-12-02"',
        '"name2","fin","2014-11-01"',
        '"name2","katt","2014-11-02"',
        '"name2","mycket","2014-12-01"',
        '"name2","lite","2014-12-01"'
    ])
)

# Load and process the data
df = pd.read_csv(data, header=0, names=["name", "text", "date"], parse_dates=["date"])
df["month"] = df["date"].apply(lambda x: x.month)
Copier après la connexion

Pour concaténer la colonne "texte" pour chaque groupe de "nom" et "mois", on peut utiliser la fonction groupby :

df['text'] = df[['name','text','month']].groupby(['name','month'])['text'].transform(lambda x: ','.join(x))
Copier après la connexion

Alternativement, nous pouvons utiliser la fonction apply et réinitialiser l'index :

df.groupby(['name','month'])['text'].apply(','.join).reset_index()
Copier après la connexion

Cela entraînera une nouvelle colonne où le Les valeurs "texte" sont concaténées pour chaque groupe :

    name  month         text
0  name1     11           du
1  name1     12        aj,oj
2  name2     11     fin,katt
3  name2     12  mycket,lite
Copier après la connexion

En utilisant les techniques de transformation groupby, nous pouvons concaténer efficacement des chaînes de plusieurs lignes, améliorant ainsi l'analyse et la présentation des données.

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