Код: Выделить всё
import polars as pl
lf = pl.LazyFrame(
{
"first_and_middle_name": ["mister banana", "yoda the jedi", "not gonna"],
"middle_and_last_name": ["banana muffin", "jedi master", "work at all"],
}
)
split_first_name = pl.col("first_and_middle_name").str.split(" ").list
split_last_name = pl.col("middle_and_last_name").str.split(" ").list
lf.with_columns(
pl.when(split_first_name.last() == split_last_name.first())
.then(
pl.col("first_and_middle_name")
+ " "
+ split_last_name.slice(1, split_last_name.len()).list.join(" ")
)
.otherwise(pl.lit(None))
.alias("full_name")
).collect()
Я не смог найти в документации по полярам хороший способ сделать это.
Я нашел хаки, такие как определение UDF для запуска там и выдачи исключения, но это похоже на странный обходной путь.>
Подробнее здесь: https://stackoverflow.com/questions/794 ... -in-polars