Heim > Backend-Entwicklung > Python-Tutorial > Wie kombiniere ich Zeichenfolgen innerhalb von Gruppen mithilfe von Pandas Groupby?

Wie kombiniere ich Zeichenfolgen innerhalb von Gruppen mithilfe von Pandas Groupby?

Patricia Arquette
Freigeben: 2024-10-24 19:06:29
Original
1074 Leute haben es durchsucht

How to Combine Strings Within Groups Using Pandas groupby?

Pandas gruppiert nach: So erhalten Sie eine Vereinigung von Zeichenfolgen

Der bereitgestellte DataFrame enthält drei Spalten: A, B und C. Das Ziel besteht darin, den DataFrame nach zu gruppieren Spalte A und erhalten Sie eine Vereinigung von Zeichenfolgen aus Spalte C für jede Gruppe.

Standardmäßig summiert Groupby numerische Spalten, was für Zeichenfolgen nicht funktioniert.

Verwenden einer benutzerdefinierten Funktion

Ein Ansatz besteht darin, eine Funktion zu definieren, die Zeichenfolgen innerhalb jeder Gruppe mithilfe der Join-Methode verkettet:

<code class="python">def f(x):
    return "{%s}" % ', '.join(x)</code>
Nach dem Login kopieren

Und diese Funktion auf den gruppierten DataFrame anzuwenden:

<code class="python">result = df.groupby('A')['C'].apply(f)</code>
Nach dem Login kopieren

Dieser Ansatz erzeugt die gewünschte Ausgabe:

A
1    {This, string}
2           {is, !}
3               {a}
4          {random}
Nach dem Login kopieren

Summe und Verkettung verwenden

Eine andere Möglichkeit besteht darin, sum zu erzwingen, Zeichenfolgen zu verketten, indem der Datentyp geändert wird:

<code class="python">df['C'] = df['C'].astype(str)
result = df.groupby('A')['C'].sum()</code>
Nach dem Login kopieren

Dies auch liefert das gewünschte Ergebnis.

Das obige ist der detaillierte Inhalt vonWie kombiniere ich Zeichenfolgen innerhalb von Gruppen mithilfe von Pandas 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