Я начинаю с фреймворка базовых сезонов, раздел которого выглядит примерно так:
Name Season AB H SB playerid
13047 A.J. Pierzynski 2013 503 137 1 746
6891 A.J. Pierzynski 2006 509 150 1 746
1374 Rod Carew 1977 616 239 23 1001942
1422 Stan Musial 1948 611 230 7 1009405
1507 Todd Helton 2000 580 216 5 432
1508 Nomar Garciaparra 2000 529 197 5 190
1509 Ichiro Suzuki 2004 704 262 36 1101
Из этих сезонов я хочу создать фреймворк карьерной статистики; то есть по одной строке для каждого игрока, которая представляет собой сумму их AB, H, и т.д. c. Этот фреймворк по-прежнему должен включать имена игроков. Playerid в приведенном выше является уникальным ключом для каждого игрока и должен быть либо индексом, либо неизменным значением в столбце после создания фрейма данных статистики карьеры.
Моя гипотетическая отправная точка - df_careers = df_seasons.groupby('playerid').agg(sum)
, но это не учитывается все нечисловые c данные. С numeric_only = False
я могу получить какой-то беспорядок в столбцах имен, например «Ичиро Сузуки Ичиро Сузуки Ичиро Сузуки» из-за конкатенации, но это просто требует большой очистки. Это то, что я хотел бы делать с другими наборами данных, и на самом деле данные, которые у меня есть, больше похожи на 25 столбцов, поэтому я бы предпочел понять специальную процедуру c для получения данных Name обратно или сохранения их из в самом начале, а не писать конкретную функцию c и использовать groupby('playerid').agg(func)
(или аналогичный процесс) для ее выполнения, если возможно.
Я предполагаю, что есть довольно простой способ сделать это, но я только начал изучать Pandas в неделю go, так что в моих знаниях есть пробелы.