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


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