Python Polars: количество строк с момента последнего значения> 0 ⇐ Python

Программы на Python
Anonymous
Python Polars: количество строк с момента последнего значения> 0

Сообщение Anonymous »

Для столбца Polars DataFrame, например

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

df = pl.DataFrame({"a": [0, 29, 28, 4, 0, 0, 13, 0]})
как получить новый столбец типа

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

shape: (8, 2)
┌─────┬──────┐
│ a   ┆ dist │
│ --- ┆ ---  │
│ i64 ┆ i64  │
╞═════╪══════╡
│ 0   ┆ 1    │
│ 29  ┆ 0    │
│ 28  ┆ 0    │
│ 4   ┆ 0    │
│ 0   ┆ 1    │
│ 0   ┆ 2    │
│ 13  ┆ 0    │
│ 0   ┆ 1    │
└─────┴──────┘
Предпочтительно решение должно работать с .over() для сгруппированных значений и, при необходимости, с дополнительной функцией прокручивающегося окна, напримерrolling_mean().
Я знаю соответствующий вопрос для панд, но не смог его перевести.

Подробнее здесь: https://stackoverflow.com/questions/769 ... st-value-0

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