У меня возникли проблемы с выяснением того, как я могу добавить новые столбцы, записи которых ссылаются на несколько других строк одного и того же кадра данных.
Входной кадр данных:
Date Player1ID Player2ID WinnerID
2018-06-10 a b a
2018-06-11 b c b
2018-06-12 c a a
2018-06-13 b a a
2018-06-14 b b c
2018-06-15 a c c
2018-06-16 b c b
2018-06-17 a c a
2018-06-18 b a a
...
Контекст: строкиэтого кадра данных - результаты спортивного матча.Я хочу создать два столбца, в которых на каждой дате будет показана «текущая форма» игрока 1 и игрока 2. Для простого начала я хочу использовать количество игр в последних N играх (в примере N = 2ниже), что каждый игрок выиграл.
Например, в 2018-06-13 игрок 2 (игрок с идентификатором '1') был в хорошей форме - они выиграли обе свои предыдущие две игры в 2018 году-06-12 и 2018-06-10.Таким образом, на эту дату индикатор формы p2_Num_wins_last2 установлен как 1.
Требуемый выходной фрейм данных:
Date Player1ID Player2ID WinnerID p1_Num_wins_last2 p2_Num_wins_last2
2018-06-10 a b a - -
2018-06-11 b c b - -
2018-06-12 c a a - -
2018-06-13 b a a 1 2
2018-06-14 3 b c 0 1
2018-06-15 a c c 2 1
2018-06-16 b c b 0 2
2018-06-17 a c a 1 1
2018-06-18 b a a 1 1
...
Я пытаюсь использовать функцию lapply со ссылкой на некоторый суб-фрейм данных вышеоригинальный, например.
df["p1_Num_wins_last2"] = df.lapply(lambda row: func(row,subDataFrame))
, но мне действительно тяжело заставить его работать.Нужно обобщить это для многих игроков, большого количества дат и более общего числа игр N.
Любой совет будет высоко ценится!