Расчет личной статистики для команд в Python - PullRequest
0 голосов
/ 16 апреля 2020

Я изо всех сил пытаюсь вычислить статистику «один на один» для команд на основе данных исторических игр. Я не могу думать о том, как использовать групповую игру, учитывая, что команды могут быть либо в домашней команде, либо в колонке гостей в историческом игровом фрейме. Реальные данные намного больше, но ниже приведен пример того, что я пытаюсь сделать.

Historical = Team     Opponent     Points     Points Against     Win?    
             Eagles   Cowboys      34         20                 1
             Cowboys  Falcons      15         35                 0
             Cowboys  Eagles       21         20                 1

Я собираюсь взять вышеизложенное и создать столбец "голова к голове" в приведенной ниже на две команды, которые играют в колонках Хозяева и Гости. Мне все равно, как он отформатирован, но в процентном соотношении команды в столбце «Домашняя команда» он показан ниже.

Upcoming =     Home Team      Away Team     Head to Head (Home Team)
                 Falcons        Cowboys       100%
                 Cowboys        Eagles        50%
                 Falcons        Eagles        NaN

Дайте мне знать, если что-то выше неясно, оцените помощь .

1 Ответ

0 голосов
/ 16 апреля 2020

Если я правильно читаю, вы можете использовать именованный агрегат

pd.groupby(["Team","Opponent"]) \
  .agg(num_won=("Win", "sum"),
       num_played("Win", "count")) \
  .assign(win_rate=lambda x: x['num_won'] / num['played'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...