У меня довольно простая проблема. У меня есть набор данных с несколькими продуктами и динамикой их цен с течением времени. Теперь мне нужно определить периоды, в течение которых цены не меняются в течение последовательных дней (за исключением выходных --> поэтому пятница и понедельник идут подряд).
Набор данных:
01 февраля 2024 г. до 2024 г. 02-04: Как указано выше, это считается как последовательные дни, т.е. игнорируем выходные 2024-02-02 и 2024-02-03)
Если та же цена появляется в другой раз в серия, ее не следует считать. Только если это происходит в дни подряд.
Если одна и та же цена (здесь 1,30) появляется в списке сразу друг за другом, но не для одного и того же идентификатора, она не должна учитываться. как последовательный --> сдвиг().cumsum() здесь не будет работать.
Есть идеи? Может быть, сдвиг().cumsum(), но только внутри каждого идентификатора?
До сих пор я пробовал несколько вариантов первого сдвиг().cumsum()а затем groupby().agg({"date": ["min", "max"], "price": "size"
Но ни один из них не решит вышеупомянутые проблемы вместе.
У меня довольно простая проблема. У меня есть набор данных с несколькими продуктами и динамикой их цен с течением времени. Теперь мне нужно определить периоды, в течение которых цены не меняются в течение последовательных дней (за исключением выходных --> поэтому пятница и понедельник идут подряд). Набор данных:
Как видите, мне нужно избежать следующих проблем: [list] [*]01 февраля 2024 г. до 2024 г. 02-04: Как указано выше, это считается как последовательные дни, т.е. игнорируем выходные 2024-02-02 и 2024-02-03) [*]Если та же цена появляется в другой раз в серия, ее не следует считать. Только если это происходит в дни подряд. [*]Если одна и та же цена (здесь 1,30) появляется в списке сразу друг за другом, но не для одного и того же идентификатора, она не должна учитываться. как последовательный --> сдвиг().cumsum() здесь не будет работать. [/list] Есть идеи? Может быть, сдвиг().cumsum(), но только внутри каждого идентификатора? До сих пор я пробовал несколько вариантов первого сдвиг().cumsum()а затем groupby().agg({"date": ["min", "max"], "price": "size" Но ни один из них не решит вышеупомянутые проблемы вместе.
Как использовать собственный API Polars для создания скользящего окна в столбце даты и времени, но отфильтровывать строки в окне на основе значения столбца «текущей» строки?
Мой фрейм данных Polars для финансовых транзакций имеет следующую схему:...
Как использовать собственный API Polars для создания скользящего окна в столбце даты и времени, но отфильтровывать строки в окне на основе значения столбца «текущей» строки?
Мой фрейм данных Polars для финансовых транзакций имеет следующую схему:...
Как использовать собственный API Polars для создания скользящего окна в столбце даты и времени, но отфильтровывать строки в окне на основе значения столбца «текущей» строки?
Мой фрейм данных Polars для финансовых транзакций имеет следующую схему:...
Как использовать собственный API Polars для создания скользящего окна в столбце даты и времени, но отфильтровывать строки в окне на основе значения столбца «текущей» строки?
Мой фрейм данных Polars для финансовых транзакций имеет следующую схему:...
Как использовать собственный API Polars для создания скользящего окна в столбце даты и времени, но отфильтровывать строки в окне на основе значения столбца «текущей» строки?
Мой фрейм данных Polars для финансовых транзакций имеет следующую схему:...