当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。