Окно прокрутки полярностей во временных рядах с настраиваемым фильтром на основе текущей строкиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Окно прокрутки полярностей во временных рядах с настраиваемым фильтром на основе текущей строки

Сообщение Anonymous »

Как использовать собственный API Polars для создания скользящего окна в столбце даты и времени, но отфильтровывать строки в окне на основе значения столбца «текущей» строки?
Мой фрейм данных Polars для финансовых транзакций имеет следующую схему:
Изображение

Для каждой транзакции и продолжительности d я хочу:
  • захватить source_acct и его временную метку< /code>
  • просмотреть временную метку – d часов и получить только те строки, исходный_аккт или dest_acct которого соответствует текущему исходному_аккту
    подвести итоги всех сообщений как sum_in, когда текущий source_acct равен dest_acct строки
  • сделайте то же самое для sum_out, но где текущий src acct равен source_account строки, включая саму себя.
Я пробовал это с помощью map_rows, но это слишком медленно для кадра данных с 20 миллионами строк. Я сортирую df по столбцу метки времени, а затем запускаю:
def windowing(df: pl.DataFrame, window_in_hours: int):
d = timedelta(hours=window_in_hours)

def calculate_amt(row):
acc_no, window_end = row[0], row[1]

window_start = window_end - d

acct_window_mask = (
(pl.col('timestamp') >= window_start) &
(pl.col('timestamp')

Подробнее здесь: https://stackoverflow.com/questions/791 ... urrent-row
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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