有没有办法允许 Polars 中的表达式引用以前的别名表达式?例如,这段代码定义了两个新列错误,因为第二个新列引用了第一个:
import polars as pl
df = pl.DataFrame(dict(x=[0, 0, 1]))
df.select([
(pl.col('x') + 1).alias('y'),
(pl.col('y') * 2).alias('z')],
)
# pyo3_runtime.PanicException: called `Result::unwrap()` on an `Err` value:
# NotFound("Unable to get field named \"y\". Valid fields: [\"x\"]")
该错误表明失败是由第一个别名对第二个表达式不可见引起的。有没有一种简单的方法来完成这项工作?