pandas 中str.contains()用法
时间: 2023-12-30 19:04:37 浏览: 414
str.contains()
是pandas中一个常用的字符串匹配函数,用于判断一个字符串是否包含某个子字符串。它的常用语法如下:
Series.str.contains(pat, case=True, flags=0, na=nan, regex=True)
其中,各参数的含义如下:
pat
:要匹配的子字符串,可以是字符串或正则表达式。case
:是否区分大小写,默认为True。flags
:正则表达式的匹配模式。na
:缺失值的替代值,默认为NaN。regex
:是否使用正则表达式进行匹配,默认为True。
例如,我们有一个包含姓名和邮件地址的DataFrame:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'email': ['alice@gmail.com', 'bob@yahoo.com', 'charlie@hotmail.com', 'david@gmail.com']}
df = pd.DataFrame(data)
我们可以使用str.contains()
来筛选所有邮箱地址中包含"gmail"的行:
gmail_df = df[df['email'].str.contains('gmail')]
输出结果如下:
name email
0 Alice alice@gmail.com
3 David david@gmail.com
需要注意的是,str.contains()
默认使用正则表达式进行匹配,如果要使用普通字符串进行匹配,需要在pat
参数中使用regex=False
。
相关推荐


















