这曾经是工作,直到升级到最新的Polars。df
Dataframe有2列以上,CP
和CP
是其中的2列。这里的目的是为大于值0
的行选择列CK
和CP
。
let e11_filter = df
.lazy()
.filter(cols(["CK", "CP"]).gt(lit(0)))
.collect()?;
错误如下。
Error: ComputeError(ErrString("The predicate passed to 'LazyFrame.filter' expanded to multiple expressions:
[(col(\"CK\")) > (0)],
[(col(\"CP\")) > (0)],
This is ambiguous. Try to combine the predicates with the 'all_exprs' or 'any_exprs' expression.
Error originated just after this operation:
DF [\"W\", \"Dataset\", \"MD\", \"CK\"]; PROJECT */8 COLUMNS; SELECTION: \"None\""))
我发现了类似的question,但它是Python版本。
1条答案
按热度按时间4uqofj5v1#
我将通过在每一列上显式地应用“大于0”过滤器并将这些结果列过滤器与
and
操作组合来使调用明确:Rustexplorer
更新:我得到了Dogbert建议的
all_exprs
版本,这更符合你链接的Python版本的答案:Rustexplorer