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
Patricia ArquetteOriginal
2024-10-24 19:06:291043Durchsuche

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>

Und diese Funktion auf den gruppierten DataFrame anzuwenden:

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

Dieser Ansatz erzeugt die gewünschte Ausgabe:

A
1    {This, string}
2           {is, !}
3               {a}
4          {random}

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>

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!

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