Временные ряды панд подсчитывают событие до определенной даты - PullRequest
0 голосов
/ 01 декабря 2018

Я новичок в панде и использую данные о теннисе от https://www.kaggle.com/jordangoblet/atp-tour-20002016, поэтому образец данных будет выглядеть следующим образом

ATP Location    Tournament  Date        Series          Court   Surface  Round  Best_of    Winner       Loser
1    Adelaide    AO         3/01/2000 International    Outdoor   Hard    1st    3          Dosedel S.   Ljubicic I.
1    Adelaide    AO         3/01/2000 International    Outdoor   Hard    1st    3          Enqvist T.   Clement A

снимок экрана и я 'm пытается создать такие функции, как:

  • сколько матчей они сыграли друг с другом до текущей даты
  • сколько матчей каждый игрок выиграл друг против друга до текущей даты
  • и т. Д.

    Я пробовал базовые групповые настройки и повторную выборку, но не смог найти нужное решение

1 Ответ

0 голосов
/ 01 декабря 2018

Попробуйте нарезать ваш фрейм данных на основе переменной даты событий.Затем вы можете использовать функцию groupby для вспомогательного столбца.Чтобы получить вспомогательный столбец:

df['aux'] = df.apply(lambda x: '_'.join(sorted([x['Winner'], x['Loser']])), axis = 1)

После группировки вы можете использовать группы для расчета любых статистических данных по ним (например, упомянутых вами).

Если вы хотите получить совокупную статистику для всей истории, вы можете использовать cumsum и аналогичные функции для групп (если вы гарантируете, что данные были отсортированы на основе метки времени события).

Пожалуйста, дайте мне знать, если что-то все еще неясно или вы застряли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...