Мой фрейм данных Polars для финансовых транзакций имеет следующую схему:

Для каждой транзакции и продолжительности d я хочу:
- захватить source_acct и его временную метку< /code>
- просмотреть временную метку – d часов и получить только те строки, исходный_аккт или dest_acct которого соответствует текущему исходному_аккту
подвести итоги всех сообщений как sum_in, когда текущий source_acct равен dest_acct строки - сделайте то же самое для sum_out, но где текущий src acct равен source_account строки, включая саму себя.
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