當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pyspark Series.str.contains用法及代碼示例


本文簡要介紹 pyspark.pandas.Series.str.contains 的用法。

用法:

str.contains(pat: str, case: bool = True, flags: int = 0, na: Any = None, regex: bool = True) → ps.Series

測試模式或正則表達式是否包含在係列的字符串中。

根據給定模式或正則表達式是否包含在係列的字符串中,返回布爾係列。

類似於 match() ,但不那麽嚴格,依賴於 re.search() 而不是 re.match()

參數

patstr

字符序列或正則表達式。

case布爾值,默認為真

如果為 True,則區分大小寫。

flagsint,默認 0(無標誌)

傳遞給 re 模塊的標誌,例如重新忽略。

na默認無

缺失值的填充值。 NaN 轉換為無。

regex布爾值,默認為真

如果為 True,則假定 pat 是正則表達式。如果為 False,則將 pat 視為文字字符串。

返回

一係列布爾值或對象

一係列布爾值,指示給定模式是否包含在係列的每個元素的字符串中。

例子

僅使用文字模式返回一係列布爾值。

>>> s1 = ps.Series(['Mouse', 'dog', 'house and parrot', '23', np.NaN])
>>> s1.str.contains('og', regex=False)
0    False
1     True
2    False
3    False
4     None
dtype: object

使用大小寫指定區分大小寫。

>>> s1.str.contains('oG', case=True, regex=True)
0    False
1    False
2    False
3    False
4     None
dtype: object

將 na 指定為 False 而不是 NaN 會將 NaN 值替換為 False。如果 Series 不包含 NaN 值,則結果數據類型將為 bool,否則為對象數據類型。

>>> s1.str.contains('og', na=False, regex=True)
0    False
1     True
2    False
3    False
4    False
dtype: bool

當任一表達式出現在字符串中時,返回 ‘house’ 或 ‘dog’。

>>> s1.str.contains('house|dog', regex=True)
0    False
1     True
2     True
3    False
4     None
dtype: object

使用帶有正則表達式的標誌忽略大小寫敏感性。

>>> import re
>>> s1.str.contains('PARROT', flags=re.IGNORECASE, regex=True)
0    False
1    False
2     True
3    False
4     None
dtype: object

使用正則表達式返回任何數字。

>>> s1.str.contains('[0-9]', regex=True)
0    False
1    False
2    False
3     True
4     None
dtype: object

當正則表達式設置為 True 時,確保 pat 不是文字模式。請注意,在下麵的示例中,可能隻期望 s2[1] 和 s2[3] 返回 True。但是,“.0”作為正則表達式匹配任何後跟 0 的字符。

>>> s2 = ps.Series(['40','40.0','41','41.0','35'])
>>> s2.str.contains('.0', regex=True)
0     True
1     True
2    False
3     True
4    False
dtype: bool

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.Series.str.contains。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。