Прямое заполнение, используя значения из строк, соответствующих условию в Polars.Python

Программы на Python
Ответить
Anonymous
 Прямое заполнение, используя значения из строк, соответствующих условию в Polars.

Сообщение Anonymous »

У меня есть этот фрейм данных:

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

import polars as pl

df = pl.DataFrame({'value': [1,2,3,4,5,None,None], 'flag': [0,1,1,1,0,0,0]})

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

┌───────┬──────┐
│ value ┆ flag │
│   --- ┆  --- │
│   i64 ┆  i64 │
╞═══════╪══════╡
│     1 ┆    0 │
│     2 ┆    1 │
│     3 ┆    1 │
│     4 ┆    1 │
│     5 ┆    0 │
│  null ┆    0 │
│  null ┆    0 │
└───────┴──────┘
Я хочу использовать df.with_columns(pl.col('value').forward_fill()) (или аналогичный), но я хочу использовать только значения с флагом == 1, чтобы их можно было заполнить. Итак, в этом примере я хочу, чтобы значение 4 использовалось для замены двух нулевых записей (а не 5).

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

┌───────┬──────┐
│ value ┆ flag │
│ ---   ┆ ---  │
│ i64   ┆ i64  │
╞═══════╪══════╡
│ 1     ┆ 0    │
│ 2     ┆ 1    │
│ 3     ┆ 1    │
│ 4     ┆ 1    │
│ 5     ┆ 0    │
│ 4     ┆ 0    │
│ 4     ┆ 0    │
└───────┴──────┘
Как этого добиться?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -in-polars
Ответить

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

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

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

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

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