首页 > 后端开发 > Python教程 > 如何有效地检查 Pandas DataFrame 列中的多个子字符串?

如何有效地检查 Pandas DataFrame 列中的多个子字符串?

Patricia Arquette
发布: 2024-11-30 12:17:11
原创
838 人浏览过

How Can I Efficiently Check for Multiple Substrings Within a Pandas DataFrame Column?

使用多个子字符串测试 Pandas DataFrame 中子字符串的存在

在 pandas 中,结合 df.isin() 和 df[col].str。 contains() 检查字符串是否包含列表中的任何子字符串可能很乏味。本文提供了使用正则表达式和 str.contains() 方法的替代解决方案。

为了说明这一点,请考虑包含 ['cat','hat','dog','fog','宠物']。要查找包含“og”或“at”(“pet”除外)的所有元素,可以使用以下代码:

searchfor = ['og', 'at']
jointed_regex = '|'.join(searchfor)
s[s.str.contains(jointed_regex)]
登录后复制

输出将为:

0    cat
1    hat
2    dog
3    fog
dtype: object
登录后复制

通过用“|”连接子字符串字符,str.contains() 方法可以有效匹配字符串元素中的任何子字符串。

处理特殊字符

请注意,在处理包含特殊字符的子字符串时字符,例如$或^,需要使用re.escape()对其进行转义。这确保了在匹配过程中按字面解释字符。

例如,如果 searchfor 包含 ['money', 'x^y']:

import re
safe_searchfor = [re.escape(m) for m in searchfor]
s[s.str.contains('|'.join(safe_searchfor))]
登录后复制

此代码转义特殊字符并确保子字符串的准确匹配。

以上是如何有效地检查 Pandas DataFrame 列中的多个子字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板