Здесь задается аналогичный вопрос: Python: получение строки, которая имеет максимальное значение в группах с помощью groupby
Однако мне просто нужна одна запись на группу, даже если в этой группе имеется более одной записи с максимальным значением.
В приведенном ниже примере мне нужна одна запись для "s2". Для меня неважно, какой из них.
>>> 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
>>>