我正在嘗試了解 Polars 中的 2 種模式(懶惰、渴望)。我找到了一種懶惰的方法:
let out = df
.lazy()
.select([col("A"), col("B")
.filter(col("B").str().contains(input))])
.collect()
.unwrap().head(Some(10));
但是如何急切地做到這一點呢?有一個例子:
https://docs.rs/polars/latest/polars/docs/eager/index.html#filter 我無法使用 str().contains()。我是否正確理解 col("") 是特定于惰性的,而 column("") 是特定于渴望的?
// create a mask to filter out null values
let mask = df.column("sepal.width")?.is_not_null();
// apply the filter on a DataFrame
let filtered_df = df.filter(&mask)?;
uj5u.com熱心網友回復:
在 a 上Series,該方法str不像在Exprs 上那樣呼叫,而是utf8(參見https://docs.rs/polars/latest/polars/series/struct.Series.html#method.utf8)。在你的情況下,你會像這樣使用它:
let filtered_df = df.filter(&df.column("B")?.utf8()?.contains(input)?)?;
請注意,?運算子的多種用途要求您的函式回傳兼容的Result(例如 a PolarsResult)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/527836.html
標籤:细绳锈筛选锈极
上一篇:分層字串定界不拆分
