Estou tentando inserir/criar uma nova coluna com esses atributos nas linhas de then(""), mas recebo columnNotFoundError
para as linhas de .then()
. Mas isso ainda não existe. O que há de errado com o código?
df_2023 = df_2023.with_columns(
pl.when(pl.col("Tillatt totalvekt opp til og med 3500").eq("X"))
.then("Opp til og med 3500")
.when(pl.col("Tillatt totalvekt 3501-7500").eq("X"))
.then("3501-7500")
.when(pl.col("Tillatt totalvekt over 7500").eq("X"))
.then("Over 7500")
.otherwise(pl.lit(None).cast(pl.String))
.alias("Tillatt totalvekt")
)
df_2023.select("Tillat totalvekt").head()
*THE ERROR*
*ColumnNotFoundError: Opp til og med 3500*
Eu também tentei com:
pl.when(pl.col("Tillatt totalvekt opp til og med 3500") == "X")
.then("Opp til og med 3500")
Eu realmente poderia usar alguma ajuda, li também a documentação do Polars para polars.when
, mas não ajudou em nada a resolver esse problema.
Desde já, obrigado!
A
then
construção assume que strings são nomes de colunas. Imagino que "Opp til og med 3500" seja um valor literal no seu código e não um nome de coluna. Usepl.lit('....')
para definir um valor literal explicitamente, dessa forma, os polares não o considerarão como um nome de coluna. No seu caso,.then(pl.lit("Opp til og med 3500"))
(o mesmo para outrosthen
).Mais alguns detalhes: https://github.com/pola-rs/polars/issues/13805