Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erhalte ich die erste Zeile jeder Gruppe in einem Pandas-DataFrame durch mehrere Spalten?

Wie erhalte ich die erste Zeile jeder Gruppe in einem Pandas-DataFrame durch mehrere Spalten?

DDD
DDDOriginal
2024-11-10 04:54:02488Durchsuche

How to Get the First Row of Each Group in a Pandas DataFrame by Multiple Columns?

Erste Zeile jeder Gruppe in einem Pandas-DataFrame nach mehreren Spalten abrufen

In einem Pandas-DataFrame ist es oft notwendig, die erste abzurufen Zeile jeder Gruppe, nachdem der DataFrame basierend auf bestimmten Spalten gruppiert wurde. Diese Aufgabe kann mit den integrierten Methoden von Pandas effizient erledigt werden.

Um dies zu erreichen, kann man die Methode .first() verwenden, um das erste (nicht Null)-Element für jede Gruppe zu erhalten. Die Syntax für first() lautet wie folgt:

df.groupby('group_columns').first()

In Ihrem Beispiel möchten Sie den DataFrame nach den Spalten „id“ und „value“ gruppieren und die erste Zeile jeder Gruppe abrufen. Sie können den folgenden Code verwenden:

df.groupby(['id', 'value']).first()

Dies führt zu folgendem Ergebnis:

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

Wenn Sie „id“ lieber als Spalte im resultierenden DataFrame haben möchten, können Sie dies tun Setzen Sie den Index mit reset_index() wie unten gezeigt zurück:

df.groupby(['id', 'value']).first().reset_index()

Die Ausgabe dieser Operation lautet:

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

Zusätzlich, wenn Sie jeweils die ersten n Zeilen abrufen möchten Gruppe können Sie die Methode .head() anstelle von first() verwenden. Um beispielsweise die ersten beiden Zeilen jeder Gruppe abzurufen, können Sie Folgendes verwenden:

df.groupby('id').head(2).reset_index(drop=True)

Dadurch wird der folgende DataFrame zurückgegeben:

id value
1 first
1 second
2 first
2 second
3 first
3 third
4 second
4 fifth
5 first
6 first
6 second
7 fourth
7 fifth

Das obige ist der detaillierte Inhalt vonWie erhalte ich die erste Zeile jeder Gruppe in einem Pandas-DataFrame durch mehrere Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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