Wie kann man die Vereinigung von Strings aus gruppierten Pandas-DataFrames effizient extrahieren?

Patricia Arquette
Freigeben: 2024-10-25 05:48:29
Original
988 Leute haben es durchsucht

How to Efficiently Extract the Union of Strings from Grouped Pandas DataFrames?

Union of Strings in Pandas GroupBy

Diese Frage befasst sich mit einer häufigen Herausforderung: dem Extrahieren einer Union von Strings aus einem Pandas DataFrame, gruppiert nach einem bestimmten Spalte. Wenn Sie die Funktion sum() auf eine Spalte mit Zeichenfolgen anwenden, werden diese leider nicht verkettet. Stattdessen untersucht dieser Artikel alternative Methoden, um das gewünschte Ergebnis zu erzielen.

GroupBy mit einer benutzerdefinierten Funktion verwenden

Eine Lösung besteht darin, eine benutzerdefinierte Funktion zu definieren, die einen bestimmten Vorgang anwendet zu jeder Gruppe. Beispielsweise können wir die Methode apply() verwenden, um die Gruppen zu durchlaufen und einen gewünschten Wert zurückzugeben. So geht's:

<code class="python">def my_function(group):
    return "{%s}" % ', '.join(group['C'])</code>
Nach dem Login kopieren

Diese Funktion kombiniert die Zeichenfolgen in der Spalte „C“ jeder Gruppe zu einer in geschweiften Klammern eingeschlossenen Menge.

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

Verwenden von GroupBy mit Lambda Ausdruck

Eine einfachere Syntax beinhaltet die Verwendung eines Lambda-Ausdrucks:

<code class="python">df.groupby('A')['C'].apply(lambda x: "{%s}" % ', '.join(x))</code>
Nach dem Login kopieren

Dieser Lambda-Ausdruck führt die gleiche Verkettungsoperation wie die benutzerdefinierte Funktion aus.

Gruppen kombinieren

Manchmal kann es nützlich sein, Informationen aus mehreren Gruppen in einer einzigen Serie zusammenzufassen. Hier ist ein Beispiel:

<code class="python">def f(group):
    return Series(dict(A=group['A'].sum(),
                       B=group['B'].sum(),
                       C="{%s}" % ', '.join(group['C'])))</code>
Nach dem Login kopieren

Diese Funktion aggregiert die Spalten „A“ und „B“ mit sum() und kombiniert die Spalten „C“ zu einem Satz.

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

Dies Der Ansatz liefert einen DataFrame mit den aggregierten Werten für jede Gruppe.

Durch den Einsatz dieser Methoden können Sie effektiv die Vereinigung von Zeichenfolgen aus gruppierten Pandas DataFrames extrahieren und so die Möglichkeit freischalten, textbasierte Daten auf sinnvolle Weise zu analysieren und zu visualisieren .

Das obige ist der detaillierte Inhalt vonWie kann man die Vereinigung von Strings aus gruppierten Pandas-DataFrames effizient extrahieren?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!