Python - 在字符串中实现"不区分大小写"或"忽略大小写"

39

我有一个非常简单的问题。这是针对一个pandas dataframe(“df”)的。关于字符串比较的答案都更加复杂,而我并不需要它们。这里是适用于小写字母并仅返回“apple”的代码:

df2 = df1['company_name'].str.contains(("apple"), na=False)

我需要这个来查找 "apple"、"APPLE"、"Apple" 等内容。类似这样:

df2 = df1['company_name'].str.contains.caseignore((("apple"), na=False))

有这样的功能吗?

谢谢。


2
"df" 是什么?是Panda数据框架吗?如果是的话,请编辑您的帖子以明确这一点,并添加“panda”标签;否则请解释一下这个“df”是什么东西。 - bruno desthuilliers
请参考此问题 https://dev59.com/KWw15IYBdhLWcg3wfb3i - nalyd88
1
我会这样做:df2 = df1['company_name'].str.upper().contains("ApPlE".upper()) 并检查所有大写字母。 - DDS
2个回答

87

Series.str.contains函数默认情况下具有一个名为case的参数,其取值为True。将其设置为False可进行不区分大小写的匹配。

df2 = df1['company_name'].str.contains("apple", na=False, case=False)

1
如果您想进行精确匹配,并带有忽略大小写的搜索,请使用strip函数。
pd[pd['Asset Name'].str.strip().str.match('searchstring'.strip(),case=False)]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接