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!