pd.contains用法
时间: 2023-10-09 20:17:24 浏览: 31
`pd.contains`是Pandas中一个用于检查字符串是否包含某个字符或匹配某个正则表达式的函数。
使用方法如下:
```python
import pandas as pd
# 创建一个Series
s = pd.Series(['apple', 'banana', 'pear', 'orange'])
# 检查字符串中是否包含某个字符
s_contains_a = s.str.contains('a')
print(s_contains_a)
# 输出:
# 0 True
# 1 True
# 2 False
# 3 True
# dtype: bool
# 检查字符串是否匹配某个正则表达式
s_contains_regex = s.str.contains('^a')
print(s_contains_regex)
# 输出:
# 0 True
# 1 False
# 2 False
# 3 False
# dtype: bool
```
在上述示例中,`s.str.contains('a')`检查了字符串Series `s`中每个元素是否包含字符'a',并返回一个布尔值Series `s_contains_a`。同样地,`s.str.contains('^a')`检查了字符串Series `s`中每个元素是否以字母'a'开头,并返回一个布尔值Series `s_contains_regex`。
相关问题
pandas 中str.contains()用法
`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`。
str.contains
`str.contains` 是一个 pandas 库中的字符串方法,用于检查一个字符串是否包含子字符串。它返回一个布尔值的 Series,表示每个字符串是否包含子字符串。示例如下:
```python
import pandas as pd
data = {'fruits': ['apple', 'banana', 'orange', 'kiwi']}
df = pd.DataFrame(data)
# 使用 str.contains 检查字符串中是否包含 'app'
df['contains_app'] = df['fruits'].str.contains('app')
print(df)
```
输出结果如下:
```
fruits contains_app
0 apple True
1 banana False
2 orange False
3 kiwi False
```
在上面的示例中,我们使用 `str.contains` 方法检查每个水果名称是否包含 `'app'` 子字符串,并将结果存储在名为 `'contains_app'` 的新列中。