首页 >后端开发 >Python教程 >如何高效查找 Pandas 系列中包含特定子字符串的字符串?

如何高效查找 Pandas 系列中包含特定子字符串的字符串?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-06 11:39:121026浏览

How Can I Efficiently Find Strings Containing Specific Substrings in a Pandas Series?

在 Pandas 中测试字符串子字符串

在 pandas 中,您可能会遇到需要确定字符串列是否包含多个子字符串之一的场景。这可以使用 isin() 和 str.contains() 函数来实现,但是可以使用更有效的方法。

要查找包含任何子字符串列表的所有字符串,您可以使用正则表达式管道str.contains() 中的字符 (|)。例如,给定一个序列 s = ['cat','hat','dog','fog','pet'] 和所需的子字符串 ['og', 'at'],您可以执行以下代码:

import pandas as pd

searchfor = ['og', 'at']
result = s[s.str.contains('|'.join(searchfor))]

此操作将创建一个包含 s 中与 searchfor 中任何子字符串匹配的所有元素的系列,不包括 pet。

它是需要注意的是,正则表达式中具有特定含义的特殊字符,例如 $ 和 ^,应该使用 re.escape() 进行转义。这确保它们在匹配期间被视为文字字符。

以上是如何高效查找 Pandas 系列中包含特定子字符串的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn