You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于行值筛选datascience包Table结构数据,过滤含No的无效行

错误原因

你原先的写法不符合datascience包Table类where方法的调用规则:"B" != "No"是对两个字符串直接做等值判断,返回的是单个布尔值True,相当于给where传入了恒真条件,所以筛选不会生效,返回的还是原表。

正确实现方法

有两种常用写法可以实现需求:

  • 方法1:使用datascience内置的谓词函数
# 直接指定列名和匹配规则
test_new = test.where("B", are.not_equal_to("No"))

如果你当前环境没有自动导入谓词工具类,可在代码开头补充导入:from datascience import are

  • 方法2:传入布尔数组做筛选
    先取出B列的数组做等值判断得到布尔掩码,再传入where方法:
test_new = test.where(test.column("B") != "No")

执行上述任意一种写法后,test_new就会只保留B列不是No的行,符合你预期的A列取值为b、c、e、f、g的需求。

可选拓展操作

如果你后续需要对百分比数值做计算,可以把B列的百分号去掉转成整数格式:

test_new = test_new.with_column(
    "B", 
    test_new.apply(lambda x: int(x.strip("%")), "B")
)

内容的提问来源于stack exchange,提问作者sheep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:27:01