Как добавить числовое значение из одного столбца в другие элементы столбца списка в Polars?Python

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

Сообщение Anonymous »

Предположим, у меня есть следующий DataFame Polars:

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

import polars as pl

df = pl.DataFrame({
'lst': [[0, 1], [9, 8]],
'val': [3, 4]
})
И я хочу добавить число в столбце val к каждому элементу в соответствующем списке в столбце lst, чтобы получить следующий результат:< /p>

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

┌───────────┬─────┐
│ lst       ┆ val │
│ ---       ┆ --- │
│ list[i64] ┆ i64 │
╞═══════════╪═════╡
│ [3, 4]    ┆ 3   │
│ [13, 12]  ┆ 4   │
└───────────┴─────┘
Я знаю, как добавить постоянное значение, например:

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

new_df = df.with_columns(
pl.col('lst').list.eval(pl.element() + 2)
)
Но когда я пытаюсь:

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

new_df = df.with_columns(
pl.col('lst').list.eval(pl.element() + pl.col('val'))
)
Я получаю следующую ошибку:

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

polars.exceptions.ComputeError: named columns are not allowed in `list.eval`; consider using `element` or `col("")`
Есть ли какой-нибудь элегантный способ достичь моей цели (без map_elements)?
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/779 ... -in-polars

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