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