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
Freigeben: 2024-12-14 14:05:13
Original
469 Leute haben es durchsucht

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)
Nach dem Login kopieren

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))
Nach dem Login kopieren

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

df.groupby(['name','month'])['text'].apply(','.join).reset_index()
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage