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

如何使用逻辑操作符简便实现多值排除的DataFrame数据筛选

Pandas多值排除筛选的简化实现

你目前逐行写不等于判断的写法完全可以简化,不需要逐行堆叠条件,通过isin()方法配合逻辑取反符~就能一步完成多值排除,最终筛选效果和你现有的写法完全一致,代码参考如下:

# 预先整理需要排除的location值,后续调整规则只需要修改这个列表
exclude_locations = ['World', 'Europe', 'North America', 'European Union', 'South America', 'Asia']

# 合并所有筛选条件,一次性生成目标数据集
droppedd = dropped[
    (dropped['date'] == '2021-04-04') &
    (~dropped['location'].isin(exclude_locations))
]

相关说明

  • 之前尝试把列表直接传入筛选条件报错的原因:!=这类比较运算符不支持直接和列表做逐元素匹配,必须通过isin()方法判断列值是否属于指定集合;在isin()判断前加~就是取反逻辑,等价于“列值不在排除列表中”,和逐行写多个!=的筛选结果没有差异。
  • 多条件组合时,每个独立的判断块建议用括号包裹,避免因逻辑运算符优先级问题导致筛选结果出错。
  • 后续如果要新增或移除需要排除的location值,只需要调整exclude_locations列表的内容即可,不需要逐行修改筛选代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 16:54:03