Как я могу вращать/сдвигать/увеличивать значения одного конкретного столбца в Polars DataFrame?Python

Программы на Python
Anonymous
Как я могу вращать/сдвигать/увеличивать значения одного конкретного столбца в Polars DataFrame?

Сообщение Anonymous »

У меня есть следующий фрейм данных Polars:

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

df = pl.from_repr("""
┌─────┬───────┐
│ day ┆ value │
│ --- ┆ ---   │
│ i64 ┆ i64   │
╞═════╪═══════╡
│ 1   ┆ 1     │
│ 1   ┆ 2     │
│ 1   ┆ 2     │
│ 3   ┆ 3     │
│ 3   ┆ 5     │
│ 3   ┆ 2     │
│ 5   ┆ 1     │
│ 5   ┆ 2     │
│ 8   ┆ 7     │
│ 8   ┆ 3     │
│ 9   ┆ 5     │
│ 9   ┆ 3     │
│ 9   ┆ 4     │
└─────┴───────┘
""")
Я хочу постепенно повернуть значения в столбце «день»? Под пошаговым вращением я имею в виду изменение каждого значения на следующее большее значение, существующее в столбце, и, если значение является самым большим, то измените его на значение null/None.
В основном , результат, который я ожидаю, должен быть следующим:

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

┌──────┬───────┐
│ day  ┆ value │
│ ---  ┆ ---   │
│ i64  ┆ i64   │
╞══════╪═══════╡
│ 3    ┆ 1     │
│ 3    ┆ 2     │
│ 3    ┆ 2     │
│ 5    ┆ 3     │
│ 5    ┆ 5     │
│ 5    ┆ 2     │
│ 8    ┆ 1     │
│ 8    ┆ 2     │
│ 9    ┆ 7     │
│ 9    ┆ 3     │
│ null ┆ 5     │
│ null ┆ 3     │
│ null ┆ 4     │
└──────┴───────┘
Есть ли какой-то особый идиоматический способ Polars-Python добиться этого?

Подробнее здесь: https://stackoverflow.com/questions/752 ... ars-datafr

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