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

pandas行值过滤简写方法咨询:列值匹配多个指定值的正确写法

合法简短写法说明

你印象里的df[col] == (value1 or value2)写法是不合法的,Python中or为布尔运算符,会直接返回第一个判定为真的值,最终只会对单个值做匹配,过滤结果不符合预期。

pandas官方提供了专门的多值匹配方法isin(),正确写法如下:

# 匹配col1列值为value1或value2的行
df[df[col1].isin([value1, value2])]

额外使用说明

  • 如果需要反向过滤,即排除匹配指定值的行,在isin()前加波浪符~即可:
    # 排除col1列值为value1或value2的行
    df[~df[col1].isin([value1, value2])]
    
  • 匹配的目标值数量没有限制,后续新增匹配值直接添加到isin()的入参数组中即可,无需新增条件判断语句,远优于多个==加|拼接的写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:51:02