Heim > Backend-Entwicklung > Python-Tutorial > Wie gruppiere ich aufeinanderfolgende identische Werte in einem Pandas-DataFrame?

Wie gruppiere ich aufeinanderfolgende identische Werte in einem Pandas-DataFrame?

Mary-Kate Olsen
Freigeben: 2024-11-26 22:33:10
Original
858 Leute haben es durchsucht

How to Group Consecutive Identical Values in a Pandas DataFrame?

Gruppieren aufeinanderfolgender Werte in Pandas DataFrame

In Pandas kann das Gruppieren von Daten eine entscheidende Aufgabe für die Datenanalyse und -manipulation sein. Beim Umgang mit sequentiellen Daten ist es häufig erforderlich, aufeinanderfolgende Werte zu gruppieren, die dieselben Merkmale aufweisen.

Problem:

Gegeben ist ein DataFrame mit einer Spalte, die aufeinanderfolgende Werte enthält. Gruppieren Sie diese Werte in zusammenhängende Segmente, in denen die Werte gleich bleiben.

Zum Beispiel, wenn die ursprüngliche Spalte Folgendes enthält Werte:

[1, 1, -1, 1, -1, -1]

Die gewünschte Ausgabe wäre:

[1, 1] [-1 ] [1] [-1, -1]

Lösung:

Um dies zu erreichen Beim Gruppieren bietet Pandas mithilfe der Groupby-Funktion einen flexiblen Ansatz. Es reicht jedoch nicht aus, Groupby einfach auf die Spalte selbst anzuwenden. Stattdessen müssen wir eine benutzerdefinierte Serie erstellen, die die Grenzen der Segmente identifiziert.

Der folgende Code zeigt, wie diese Lösung implementiert wird:

df = pd.DataFrame({'a': [1, 1, -1, 1, -1, -1]})

# Create a custom Series that identifies segment boundaries
boundaries = df['a'].ne(df['a'].shift()).cumsum()

# Group data by the segment boundaries
for i, g in df.groupby(boundaries):
    print(i)
    print(g)
    print(g.a.tolist())
Nach dem Login kopieren

Dieser Ansatz weist aufeinanderfolgenden Segmenten fortlaufende Nummern zu wobei die Werte unverändert bleiben. Anhand dieser Zahlen werden die Daten dann entsprechend gruppiert und jede Gruppe wird zusammen mit den entsprechenden fortlaufenden Werten ausgedruckt.

Das obige ist der detaillierte Inhalt vonWie gruppiere ich aufeinanderfolgende identische Werte in einem Pandas-DataFrame?. 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