Найти ближайшее/ближайшее значение к подмножеству значений в кадре данных PolarsPython

Программы на Python
Ответить
Anonymous
 Найти ближайшее/ближайшее значение к подмножеству значений в кадре данных Polars

Сообщение Anonymous »

У меня есть этот фрейм данных

Код: Выделить всё

import polars as pl
df = pl.from_repr("""
┌────────────┬──────┐
│ date       ┆  ME  │
│ ---        ┆ ---  │
│ date       ┆ i64  │
╞════════════╪══════╡
│ 2027-11-25 ┆   0  │
│ 2027-11-26 ┆   0  │
│ 2027-11-29 ┆   0  │
│ 2027-11-30 ┆   1  │
│ 2027-12-01 ┆   0  │
│ 2027-12-02 ┆   0  │
│ 2027-12-03 ┆   0  │
│ 2027-12-06 ┆   1  │
│ 2027-12-07 ┆   0  │
│ 2027-12-08 ┆   0  │
│ 2027-12-09 ┆   0  │
│ 2027-12-21 ┆   0  │
│ 2027-12-22 ┆   0  │
│ 2027-12-23 ┆   0  │
│ 2027-12-24 ┆   1  │
│ 2027-12-27 ┆   0  │
│ 2027-12-28 ┆   0  │
└────────────┴──────┘
""")
И я хочу найти дату в столбце даты среди записей, где ME = 1, которая является ближайшей, т. е.

Код: Выделить всё

┌────────────┬──────┬────────────┐
│ date       ┆  ME  ┆ near_date  │
│ ---        ┆ ---  ┆ ---        │
│ date       ┆ i64  ┆ date       │
╞════════════╪══════╪════════════╡
│ 2027-11-25 ┆   0  ┆ 2027-11-30 │
│ 2027-11-26 ┆   0  ┆ 2027-11-30 │
│ 2027-11-29 ┆   0  ┆ 2027-11-30 │
│ 2027-11-30 ┆   1  ┆ 2027-11-30 │
│ 2027-12-01 ┆   0  ┆ 2027-11-30 │
│ 2027-12-02 ┆   0  ┆ 2027-12-06 │
│ 2027-12-03 ┆   0  ┆ 2027-12-06 │
│ 2027-12-06 ┆   1  ┆ 2027-12-06 │
│ 2027-12-07 ┆   0  ┆ 2027-12-06 │
│ 2027-12-08 ┆   0  ┆ 2027-12-06 │
│ 2027-12-09 ┆   0  ┆ 2027-12-06 │
│ 2027-12-21 ┆   0  ┆ 2027-12-24 │
│ 2027-12-22 ┆   0  ┆ 2027-12-24 │
│ 2027-12-23 ┆   0  ┆ 2027-12-24 │
│ 2027-12-24 ┆   1  ┆ 2027-12-24 │
│ 2027-12-27 ┆   0  ┆ 2027-12-24 │
│ 2027-12-28 ┆   0  ┆ 2027-12-24 │
└────────────┴──────┴────────────┘
Есть ли хороший способ сделать это с помощью встроенных функций Polars?


Подробнее здесь: https://stackoverflow.com/questions/797 ... -dataframe
Ответить

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

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

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

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

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