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

Wie gruppiere ich aufeinanderfolgende Werte in einer Pandas DataFrame-Spalte?

Barbara Streisand
Freigeben: 2024-11-27 20:37:15
Original
480 Leute haben es durchsucht

How to Group Consecutive Values in a Pandas DataFrame Column?

Aufeinanderfolgende Werte in einem Pandas-DataFrame gruppieren

Diese Frage sucht nach einer Lösung zum Gruppieren aufeinanderfolgender Werte in einer DataFrame-Spalte. Betrachten Sie den folgenden DataFrame mit der Spalte „a“:

   a
0  1
1  1
2 -1
3  1
4 -1
5 -1
Nach dem Login kopieren

Das Ziel besteht darin, diese Werte in Unterlisten zu gruppieren, die aufeinanderfolgende Sequenzen darstellen, wie unten gezeigt:

[1, 1]
[-1]
[1]
[-1, -1]
Nach dem Login kopieren

Lösung Verwendung benutzerdefinierter Serien

Um dies zu erreichen, können wir benutzerdefinierte Serien nutzen, um aufeinanderfolgende Wertunterbrechungen zu identifizieren. Der folgende Code demonstriert diesen Ansatz:

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

# Create a series that identifies consecutive value breaks
breaks = df['a'].ne(df['a'].shift()).cumsum()
print(breaks)

# Group the DataFrame by the breaks series
for i, g in df.groupby(breaks):
    print(i)
    print(g)
    print(g.a.tolist())
Nach dem Login kopieren

Die Ausgabe zeigt die aufeinanderfolgenden Wertegruppierungen nach Bedarf:

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]
Nach dem Login kopieren

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