This is a simple polars-plugin that de-unicodes a string using the deunicode crate.
pip install polars-deunicode-string
from polars-deunicode-string import decode_string
df: pl.DataFrame = pl.DataFrame(
{
"text": ["Nariño", "Jose Fernando Ramírez Güiza",
"Córdoba", "Hello World!", None],
}
)
Let´s de-unicode and make lowercase the column "text":
result*df: pl.DataFrame = (
df.lazy().with_columns([decode_string("text").name.prefix("decode")]).collect()
)
print(result_df)
shape: (5, 2)
┌─────────────────────────────┬─────────────────────────────┐
│ text ┆ decode_text │
│ --- ┆ --- │
│ str ┆ str │
╞═════════════════════════════╪═════════════════════════════╡
│ Nariño ┆ Narino │
│ Jose Fernando Ramírez Güiza ┆ Jose Fernando Ramirez Guiza │
│ Córdoba ┆ Cordoba │
│ Hello World! ┆ Hello World! │
│ null ┆ null │
└─────────────────────────────┴─────────────────────────────┘