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


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


用法:

Series.str.contains(pat, case=True, flags=0, na=None, regex=True)

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

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

參數

patstr

字符序列或正則表達式。

case布爾值,默認為真

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

flagsint,默認 0(無標誌)

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

na標量,可選

填充缺失值的值。默認值取決於數組的 dtype。對於object-dtype,使用numpy.nan。對於 StringDtype ,使用 pandas.NA

regex布爾值,默認為真

如果為 True,則假定 pat 是正則表達式。

如果為 False,則將 pat 視為文字字符串。

返回

布爾值的係列或索引

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

例子

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

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

僅使用文字模式返回布爾索引。

>>> ind = pd.Index(['Mouse', 'dog', 'house and parrot', '23.0', np.NaN])
>>> ind.str.contains('23', regex=False)
Index([False, False, False, True, nan], dtype='object')

使用 case 指定區分大小寫。

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

na 指定為 False 而不是 NaN 會將 NaN 值替換為 False 。如果 Series 或 Index 不包含 NaN 值,則結果 dtype 將為 bool ,否則為 object dtype。

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

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

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

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

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

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

>>> s1.str.contains('\\d', regex=True)
0    False
1    False
2    False
3     True
4      NaN
dtype:object

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

>>> s2 = pd.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

相關用法


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