У меня есть многоиндексный фрейм данных, как показано ниже.
+-------+----+------+
| | | %age |
+-------+----+------+
| Group | Id | |
| 0 | 18 | 75 |
| 0 | 30 | 12 |
| 0 | 42 | 13 |
| 1 | 18 | 12 |
| 1 | 30 | 75 |
| 1 | 42 | 13 |
| 2 | 18 | 13 |
| 2 | 30 | 12 |
| 2 | 42 | 75 |
+-------+----+------+
Я хочу получить максимальные значения для каждой группы, но в отличие от многих других вопросов по SO , я также хочу показать все столбцы уровня индекса. как это:
+-------+----+------+
| | | %age |
| Group | Id | |
| 0 | 18 | 75 |
| 1 | 30 | 75 |
| 2 | 42 | 75 |
+-------+----+------+
Я попробовал этот ответ из здесь
df1 = df_pct.reset_index(level=1, drop=True)
mask = df1.index.isin(df1.groupby(level=[0])['%age'].idxmax())
df_pct[mask]
Но я получаю вывод, который отображает весь фрейм данных