Я пытаюсь обобщить вопрос, который я задал here.Pandas Dataframes: Как сгруппировать по группе?
mlb
dataframe выглядит
Player Position Salary Year
0 Mike Witt Pitcher 1400000 1988
1 George Hendrick Outfielder 989333 1988
2 Chili Davis Outfielder 950000 1988
3 Brian Downing Designated Hitter 900000 1988
4 Bob Boone Catcher 883000 1988
5 Bob Boone Catcher 883000 1989
6 Frank Smith Catcher 993000 1988
7 Frank Smith Pitcher 1300000 1989
Обратите внимание, что тот же игрок может быть указан несколько раз для разных лет. Я пытаюсь найти игрока с максимальной суммой зарплаты для каждой позиции. Выход должен быть что-то вроде:
Position Player Salary
0 Pitcher Mike Witt 1400000
1 Outfielder George Hendrick 989333
2 Brian Downing Designated Hitter 900000
3 Catcher Bob Boone 1766000
Я думаю, что мне нужно сделать что-то вроде группы по позиции, то группа игроком, а затем суммировать для каждого игрока и найти максимум. Но у меня проблемы с этим.
Как только я сделаю positions = mlb.groupby("Position")
У меня возникли проблемы с следующим шагом. Я думаю, что вложенная группа от игрока необходима, но я не знаю, как действовать.
Что делать, если это одно и то же имя, но различное положение в двух разных лет? – dawg
Я не собираюсь беспокоиться об этом. Тот же игрок на двух позициях может представлять только двух разных игроков. – theQman
Вставьте тестовые данные, которые выполняют все, что вы пытаетесь сделать - возможно, все кувшины, но разные доходы в разные годы с разными суммами. – cphlewis