Группирования с исключением по столбцам
Имеется df следующего вида:
qw er ty yu io
12 23 34 45 1
12 23 34 2
34 56 42 45 2
34 56 42 1
Как сгруппировать, чтобы таблица имела следующий вид:
qw er ty yu io
12 23 34 2
34 56 42 45 2
Соотвественно, группировка Max(io), но с сохранением значения строки и колонки yu.
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Если я правильно понял суть вопроса - вам нужно отфильтровать исходный фрейм таким образом, чтобы получить строки с максимальным значением io.
Пример исходного фрейма:
In [36]: df
Out[36]:
qw er ty yu io
0 12 23 34 45.0 1
1 12 23 34 NaN 2
2 34 56 42 45.0 2
3 34 56 42 NaN 1
решение:
res = df.query("io == io.max()")
результат:
In [37]: res
Out[37]:
qw er ty yu io
1 12 23 34 NaN 2
2 34 56 42 45.0 2
PS группировка подразумевает минимум две операции:
- группирование данных по ключу/ключам
- применение агрегирующих функций к группе строк - в результате чего мы получаем одну строку результата для каждой группы
Поэтому описание в вашем вопросе не совсем правильное. То что вы хотите сделать - это не группировка а фильтрование или выборка по условию.