Page 1 of 1

Extrahieren Sie die Zeile mit dem Maximalwert in einem Gruppen-Pandas-Datenrahmen

Posted: 19 Jan 2025, 20:15
by Guest
Eine ähnliche Frage wird hier gestellt:
Python: Abrufen der Zeile mit dem Maximalwert in Gruppen mithilfe von Groupby

Ich benötige jedoch nur einen Datensatz pro Gruppe, auch wenn es mehr als einen Datensatz mit maximalem Wert in dieser Gruppe gibt.

Im Beispiel unten benötige ich einen Datensatz für „s2“. Für mich ist es egal, welches.

Code: Select all

>>> df = DataFrame({'Sp':['a','b','c','d','e','f'], 'Mt':['s1', 's1', 's2','s2','s2','s3'], 'Value':[1,2,3,4,5,6], 'count':[3,2,5,10,10,6]})
>>> df
Mt Sp  Value  count
0  s1  a      1      3
1  s1  b      2      2
2  s2  c      3      5
3  s2  d      4     10
4  s2  e      5     10
5  s3  f      6      6
>>> idx = df.groupby(['Mt'])['count'].transform(max) == df['count']
>>> df[idx]
Mt Sp  Value  count
0  s1  a      1      3
3  s2  d      4     10
4  s2  e      5     10
5  s3  f      6      6
>>>