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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Extrahieren Sie die Zeile mit dem Maximalwert in einem Gruppen-Pandas-Datenrahmen

by Guest » 19 Jan 2025, 20:15

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

Top