Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >锈蚀极滤波器串输入

锈蚀极滤波器串输入
EN

Stack Overflow用户
提问于 2022-11-03 11:36:28
回答 1查看 30关注 0票数 0

我试图理解两极的两种模式(懒惰,渴望)。我找到了一种懒惰的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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("")是特定于懒惰的,列(“”)是针对急切的?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 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)?;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-03 15:33:29

Series上,方法不像Expr上的那样称为str,而是utf8 (参见https://docs.rs/polars/latest/polars/series/struct.Series.html#method.utf8)。在你的例子中,你会像这样使用它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let filtered_df = df.filter(&df.column("B")?.utf8()?.contains(input)?)?;

注意,?操作符有多种用途,这要求您的函数返回兼容的Result (例如PolarsResult)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74308686

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文