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

PySpark如何基于列表批量排除指定值的行?

解决方案

可以用PySpark的isin()方法结合取反操作~来实现,不用逐个写判断条件:

my_list = ["temp1","temp2", "temp10", "temp15"]
# 筛选出value列不在my_list中的行,即删除列表内元素对应的行
res = res.filter(~res.value.isin(my_list))

也可以用where方法,效果完全一致:

res = res.where(~res.value.isin(my_list))

说明

  • res.value.isin(my_list):判断DataFrame的value列每个值是否存在于my_list中,返回一个布尔类型的列
  • ~:对布尔列取反,把“存在于列表”的结果转为“不存在于列表”
  • filter/where:根据布尔列筛选出符合条件的行,最终得到删除了目标行的DataFrame

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:15:43