Создайте новый столбец Polars из нескольких вариантов выражений, сопоставив значения со словарем.Python

Программы на Python
Ответить
Anonymous
 Создайте новый столбец Polars из нескольких вариантов выражений, сопоставив значения со словарем.

Сообщение Anonymous »

Я хочу использовать словарь выражений для выполнения вычислений для нового столбца.
У меня есть этот фрейм данных Polars:

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

import polars as pl

df = pl.DataFrame({
"col1": ["a", "b", "a"],
"x": [1,2,3],
"y": [2,2,5]
})
И у меня есть словарь выражений:

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

expr_dict = {
"a": pl.col("x") * pl.col("y"),
"b": pl.col("x"),
}
Я хочу создать столбец, в котором каждое значение вычисляется на основе ключа в другом столбце, но я не знаю, как это сделать. Я хочу получить такой результат:

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

df.with_columns(r=pl.col("col1").apply(lambda x: expr_dict[X])

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

shape: (3, 3)
┌──────┬─────┬─────┬─────┐
│ col1 ┆ x   ┆ y   ┆ r   │
│ ---  ┆ --- ┆ --- ┆ --- │
│ str  ┆ i64 ┆ i64 ┆ i64 │
╞══════╪═════╪═════╪═════╡
│ a    ┆ 1   ┆ 2   ┆ 2   │
│ b    ┆ 2   ┆ 2   ┆ 2   │
│ a    ┆ 3   ┆ 5   ┆ 15  │
└──────┴─────┴─────┴─────┘
Возможно ли это?


Подробнее здесь: https://stackoverflow.com/questions/793 ... pping-valu
Ответить

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

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

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

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

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