Heim > Artikel > Backend-Entwicklung > Wie erhalte ich die erste Zeile jeder Gruppe in einem 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!