Как выполнить join_asof в Polars, просматривая только назад и сопоставляя определенные условия?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как выполнить join_asof в Polars, просматривая только назад и сопоставляя определенные условия?

Сообщение Anonymous »

Я пытаюсь выполнить join_asof в Polars, где он смотрит только назад во времени, игнорируя совпадения в той же строке. В частности, я хочу, чтобы он нашел последнюю строку, в которой Team и Field точно совпадают, но только если значение Wk меньше, чем Wk текущей строки.
Цель — получить последнюю 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



Для каждой строки Мне нужно соединить его с последней совпадающей строкой, где: Надеюсь, DataFrame выглядит так:



Сезон
< 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Asof-join с множественными условиями неравенства
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Asof-join с множественными условиями неравенства
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Asof-join с множественными условиями неравенства
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Asof-join с множественными условиями неравенства
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Asof-join с множественными условиями неравенства
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»