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

Программы на Python
Ответить
Anonymous
 Как строго заменить строковые значения в Polars? [дубликат]

Сообщение Anonymous »

Я работаю с DataFrame Polars, который содержит столбец со строковыми значениями. Я хочу заменить определенные значения в этом столбце с помощью метода str.replace_many().
Мой фрейм данных:

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

import polars as pl
df = (pl.DataFrame({"Products": ["cell_foo","cell_fooFlex","cell_fooPro"]}))
Текущий подход:

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

mapping= {
"cell_foo" : "cell",
"cell_fooFlex" : "cell",
"cell_fooPro": "cell"
}

(df.with_columns(pl.col("Products").str.replace_many(mapping ).alias("Replaced")))
Вывод:

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

shape: (3, 2)
┌──────────────┬──────────┐
│ Products     ┆ Replaced │
│ ---          ┆ ---      │
│ str          ┆ str      │
╞══════════════╪══════════╡
│ cell_foo     ┆ cell     │
│ cell_fooFlex ┆ cellFlex │
│ cell_fooPro  ┆ cellPro  │
└──────────────┴──────────┘
Желаемый результат:

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

shape: (3, 2)
┌──────────────┬──────────┐
│ Products     ┆ Replaced │
│ ---          ┆ ---      │
│ str          ┆ str      │
╞══════════════╪══════════╡
│ cell_foo     ┆ cell     │
│ cell_fooFlex ┆ cell     │
│ cell_fooPro  ┆ cell     │
└──────────────┴──────────┘
Как я могу изменить свой подход, чтобы гарантировать, что замены происходят только тогда, когда вся строка соответствует ключу в сопоставлении?


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

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

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

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

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

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