Heim > Backend-Entwicklung > Python-Tutorial > Wie kann man gruppierte Werte in Pandas effizient mit einem Trennzeichen verbinden?

Wie kann man gruppierte Werte in Pandas effizient mit einem Trennzeichen verbinden?

Barbara Streisand
Freigeben: 2024-12-16 19:55:18
Original
345 Leute haben es durchsucht

How to Efficiently Join Grouped Values in Pandas with a Delimiter?

Gruppierte Werte mit einem Trennzeichen in Pandas verbinden

Bei Verwendung der Groupby-Funktion zum Gruppieren von Daten mit mehreren Werten tritt dieses Problem häufig auf diese Werte ohne Trennzeichen zu verketten. Um dieses Problem zu lösen, können Sie die agg-Methode nutzen.

Bedenken Sie den folgenden DataFrame:

col | val
-----|-----
A    | Cat
A    | Tiger
B    | Ball
B    | Bat
Nach dem Login kopieren

Um diese Zeilen basierend auf der Spalte „col“ zu gruppieren und die Werte in der Spalte „val“ zu verketten, verwenden Sie den folgenden Code:

import pandas as pd
df = pd.DataFrame({'col': ['A', 'A', 'B', 'B'], 'val': ['Cat', 'Tiger', 'Ball', 'Bat']})
grouped = df.groupby('col')['val'].agg('-'.join)
Nach dem Login kopieren

Dieser Ansatz sollte das gewünschte Ergebnis liefern Ergebnis:

col | val
-----|-----
A    | Cat-Tiger
B    | Ball-Bat
Nach dem Login kopieren

Wenn jedoch alternativ die Apply-Methode verwendet wird, kann es zu einem unerwarteten Ergebnis mit mehrfach vorkommenden Bindestrichwerten kommen, wie unten dargestellt:

df.groupby('col')['val'].apply(lambda x: '-'.join(x))

col | val
-----|-----
A        | C-a-t-T-i-g-e-r
B          | B-a-l-l-B-a-t
Nach dem Login kopieren

Um dieses Problem zu vermeiden, verwenden Sie stattdessen die agg-Methode, wie im obigen Beispiel gezeigt.

Zusätzlich können Sie zum Konvertieren des gruppierten Index oder MultiIndex in reguläre Spalten verwenden die Methode „reset_index“:

df1 = grouped.reset_index(name='new')
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann man gruppierte Werte in Pandas effizient mit einem Trennzeichen verbinden?. 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