Aufeinanderfolgende Werte in einem Pandas-Datenrahmen gruppieren
Bei der Datenanalyse stoßen wir häufig auf Situationen, in denen Daten geordnet sind und eine fortlaufende Gruppierung erforderlich ist Werte zusammen. Diese Aufgabe kann in Pandas mithilfe benutzerdefinierter Gruppierungstechniken gelöst werden.
Angenommen, wir haben einen DataFrame mit einer Spalte namens „a“, die die folgenden Werte enthält:
[1, 1, -1, 1, -1, -1]
Unser Ziel ist es, diese zu gruppieren Werte in aufeinanderfolgende Blöcke, etwa so:
[1,1] [-1] [1] [-1, -1]
Um dies zu erreichen, können wir Folgendes verwenden Schritte:
Hier ist der Code, der diese implementiert Schritte:
import pandas as pd df = pd.DataFrame({'a': [1, 1, -1, 1, -1, -1]}) print(df) custom_series = df['a'].ne(df['a'].shift()).cumsum() print(custom_series) for i, g in df.groupby(custom_series): print(i) print(g) print(g.a.tolist())
Dies gibt die gewünschte Gruppierung aus:
1 a 0 1 1 1 [1, 1] 2 a 2 -1 [-1] 3 a 3 1 [1] 4 a 4 -1 5 -1 [-1, -1]
Das obige ist der detaillierte Inhalt vonWie gruppiere ich aufeinanderfolgende Werte in einem Pandas DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!