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

如何在pandas的str.contains匹配逻辑中忽略大小写敏感性

你只需要在str.contains()方法中添加case=False参数即可,该参数默认值为True(开启大小写敏感),设置为False后就会忽略大小写执行子串匹配。

另外你的代码中存在一个小问题:导入numpy时没有起别名np,后续调用np.select会触发名称报错,可以同步修正导入语句。

修改后的完整代码

import pandas as pd
import numpy as np
data = ['Condor', 
        'Marmot',
        'Bear',
        'Condor a',
        'Marmotb',
        'Bearxyz']

df = pd.DataFrame(data, columns=["item_name"])

animal_list = ['Condor', 
               'Marmot',
               'Bear',
               'Pika',
               'Rat',
               'Racoon',
               'Opossum']
# 核心修改:添加case=False忽略大小写
cond_list = [df["item_name"].str.contains(animal, case=False) 
             for animal in animal_list]

df["animal"] = np.select(cond_list, animal_list)

如果你需要同时搭配其他正则规则,也可以通过传入正则flag实现同样效果,需要先导入re模块:

import re
cond_list = [df["item_name"].str.contains(animal, flags=re.IGNORECASE) 
             for animal in animal_list]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:36:04