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

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

Susan Sarandon
Susan SarandonOriginal
2024-11-10 15:06:02378Durchsuche

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

Erste Zeile jeder Gruppe in einem Pandas-DataFrame abrufen

In Pandas ermöglichen Groupby-Operationen eine effiziente Datenaggregation und -manipulation über verschiedene Kategorien hinweg . Das Abrufen bestimmter Zeilen innerhalb jeder Gruppe kann jedoch eine Herausforderung sein. In diesem Artikel wird gezeigt, wie Sie beim Gruppieren eines Pandas-DataFrames die erste Zeile jeder Gruppe abrufen.

Problem:

Wir haben einen DataFrame mit zwei Spalten, „id“ und „Wert“. Wir möchten den DataFrame nach „id“, „value“ gruppieren und die erste Zeile jeder Gruppe erhalten.

Erwartetes Ergebnis:

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

Lösung:

Um die erste Zeile jeder Gruppe abzurufen, können wir die Methode .first() verwenden. Durch die Übergabe von „id“ als Gruppenschlüssel wählt .first() das erste Nicht-Null-Element für jede eindeutige „id“-Gruppe aus.

df.groupby('id').first()

Dies erzeugt die gewünschte Ausgabe mit der ersten Zeile von jede „id“-Gruppe wird angezeigt.

Bezeichner als Spalte abrufen:

Wenn wir den Bezeichner als Spalte benötigen, können wir .reset_index() verwenden.

df.groupby('id').first().reset_index()

Dies ergibt:

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

Abrufen mehrerer Zeilen:

Um die ersten n Zeilen jeder Gruppe abzurufen, können wir .head( ).

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

Dadurch können wir die angegebene Anzahl von Zeilen vom Anfang jeder Gruppe abrufen.

Das obige ist der detaillierte Inhalt vonWie erhalte ich die erste Zeile jeder Gruppe in einem Pandas-DataFrame?. 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