在 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中文网其他相关文章!