Цель — получить последнюю GeneralLambda для последних игр: «На выезде» или «Дома», исключая текущую игру. Я думал, что лучший способ сделать это — использовать join_asof, но я не могу заставить его учитывать только прошлые строки и сопоставлять их как по команде, так и по полю.
Вот пример DataFrame для иллюстрации:
Сезон
Неделя
Команда
Поле
GeneralLambda
2024
25
Команда А
На выезде2.123456
2024
25
TeamB
Дома
1.234567
2024
25
TeamC
На выезде0,987654
2024
25
TeamD
Домашняя страница
1.345678
2024
25
TeamE
На выезде1.456789
2024
26
КомандаА
Дома
1.234567
2024
26
TeamB
На выезде1.345678
2024
26
TeamC
Домашняя страница
0.876543
2024
26
TeamD
На выезде1.456789
2024
26
TeamE
Дома
1.567890
2024
27
Команда А
На выезде2.278759
2024
27
TeamB
На выезде
1.103829
2024
27
TeamC
Домашняя страница0,992563
2024
27
TeamD
Домашняя страница
1.089324
2024
27
TeamE
Дома1.074221
Для каждой строки Мне нужно соединить его с последней совпадающей строкой, где:
- тот же,
Код: Выделить всё
Team
- тот же,
Код: Выделить всё
Field
- меньше, чем Wk текущей строки.
Код: Выделить всё
Wk
Сезон
< th>Неделя
Команда
Поле
GeneralLambda
Prev_GeneralLambda
2024
25
КомандаА
На выезде
2.123456
< td>ALastAwayValue
2024
25
TeamB
Home
1.234567
BLastHomeValue
2024
25
TeamC
< td>Отсутствует
0.987654
CLastAwayValue
2024
25
TeamD
Дома
1,345678
DLastHomeValue
2024
< td>25
TeamE
На выезде
1.456789
ELastAwayValue
2024
26
TeamA
Home
1.234567
ALastHomeValue
2024
26
TeamB
На выезде
1.345678
BLastAwayValue
2024
26
TeamC
Дома
0.876543
CLastHomeValue
2024
26
TeamD
На выезде
1.456789
DLastAwayValue< /td>
2024
26
TeamE
Home
1.567890
ELastHomeValue
2024
27
КомандаА
На выезде< /td>
2.278759
2.123456
2024 г.
27
Команда Б
На выезде
1.103829
1,345678
2024
27< /td>
TeamC
Домашняя страница
0.992563
0.876543
2024
27
TeamD
Главная
1.089324
1.345678
2024
27
TeamE
Дома
1.074221
1.567890
< /div>
Есть ли способ сделать это в Polars?
Подробнее здесь: https://stackoverflow.com/questions/791 ... g-on-speci