Heim >Backend-Entwicklung >Python-Tutorial >Wie verkette ich Zeichenfolgen aus mehreren Pandas DataFrame-Zeilen mithilfe von GroupBy?

Wie verkette ich Zeichenfolgen aus mehreren Pandas DataFrame-Zeilen mithilfe von GroupBy?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-14 14:05:13472Durchsuche

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

Verketten von Zeichenfolgen aus mehreren Zeilen mithilfe von Pandas GroupBy

Um Zeichenfolgen aus mehreren Zeilen in einer Spalte mithilfe von Groupby von Pandas zu verketten, können wir a nutzen Kombination aus Groupby- und Transformationstechniken.

Betrachten Sie den folgenden Datensatz, in dem wir die verketten möchten Spalte „Text“ für jede Gruppe von „Name“ und „Monat“:

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)

Um die Spalte „Text“ für jede Gruppe von „Name“ und „Monat“ zu verketten, können wir die Funktion „groupby“ verwenden :

df['text'] = df[['name','text','month']].groupby(['name','month'])['text'].transform(lambda x: ','.join(x))

Alternativ können wir die Apply-Funktion verwenden und den Index zurücksetzen:

df.groupby(['name','month'])['text'].apply(','.join).reset_index()

Dies führt zu einer neuen Spalte, in der die „Text“-Werte werden für jede Gruppe verkettet:

    name  month         text
0  name1     11           du
1  name1     12        aj,oj
2  name2     11     fin,katt
3  name2     12  mycket,lite

Durch die Verwendung der Groupby-Transformationstechniken können wir Zeichenfolgen aus mehreren Zeilen effizient verketten und so die Datenanalyse und -präsentation verbessern.

Das obige ist der detaillierte Inhalt vonWie verkette ich Zeichenfolgen aus mehreren Pandas DataFrame-Zeilen mithilfe von GroupBy?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn