pandas 中str.contains()用法
时间: 2023-12-30 15:04:37 浏览: 334
pandas-1.0.3.tar.gz
`str.contains()`是pandas中一个常用的字符串匹配函数,用于判断一个字符串是否包含某个子字符串。它的常用语法如下:
```python
Series.str.contains(pat, case=True, flags=0, na=nan, regex=True)
```
其中,各参数的含义如下:
- `pat`:要匹配的子字符串,可以是字符串或正则表达式。
- `case`:是否区分大小写,默认为True。
- `flags`:正则表达式的匹配模式。
- `na`:缺失值的替代值,默认为NaN。
- `regex`:是否使用正则表达式进行匹配,默认为True。
例如,我们有一个包含姓名和邮件地址的DataFrame:
```python
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"的行:
```python
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`。
阅读全文