Polars применяют альтернативу лямбда для замены определенных значенийPython

Программы на Python
Ответить
Anonymous
 Polars применяют альтернативу лямбда для замены определенных значений

Сообщение Anonymous »

В настоящее время я конвертирую свой проект по науке о данных с панд на поляры. Я успешно преобразовал большую часть файла, но с определенной частью у меня возникли проблемы. Я пытаюсь найти полярное выражение для достижения следующего результата, который я ранее реализовал с помощью функции «применить» в пандах:

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

data1 = {"a": [1, 2, 3, 4], "b1": [11, 12, 13, 14], "c1" : [31, 32, 33, 34]}
df1_pl = pl.DataFrame(data1)

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

┌─────┬─────┬─────┐
│ a   ┆ b1  ┆ c1  │
│ --- ┆ --- ┆ --- │
│ i64 ┆ i64 ┆ i64 │
╞═════╪═════╪═════╡
│ 1   ┆ 11  ┆ 31  │
│ 2   ┆ 12  ┆ 32  │
│ 3   ┆ 13  ┆ 33  │
│ 4   ┆ 14  ┆ 34  │
└─────┴─────┴─────┘

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

weekday = ['Monday', 'Tuesday', 'Wednesday', 'Thursday']

print(df1_pl.with_columns(
weekday=pl.col('a').map_elements(lambda x: weekday[x-1])
))
Желаемый выходной фрейм данных:

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

┌─────┬─────┬─────┬───────────┐
│ a   ┆ b1  ┆ c1  ┆ weekday   │
│ --- ┆ --- ┆ --- ┆ ---       │
│ i64 ┆ i64 ┆ i64 ┆ str       │
╞═════╪═════╪═════╪═══════════╡
│ 1   ┆ 11  ┆ 31  ┆ Monday    │
│ 2   ┆ 12  ┆ 32  ┆ Tuesday   │
│ 3   ┆ 13  ┆ 33  ┆ Wednesday │
│ 4   ┆ 14  ┆ 34  ┆ Thursday  │
└─────┴─────┴─────┴───────────┘
Я знаю, что использование полярных выражений рекомендуется вместо использования «map_elements». Поэтому я ищу помощи в поиске более эффективного полярного выражения для достижения того же результата, что показано выше. Любые рекомендации по этому вопросу будут высоко оценены. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/768 ... fic-values
Ответить

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

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

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

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

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