str.extract用法
时间: 2024-09-10 12:24:18 浏览: 91
Python代码源码-实操案例-框架案例-如何提取中文地址描述中的省市区信息(str.split()内置方法).zip
`str.extract` 是 Pandas 库中 Series 对象的一个方法,它可以用来从字符串数据中提取与正则表达式模式匹配的部分。这个方法返回一个新的 Series,包含找到的匹配项。
基本用法如下:
```python
import pandas as pd
# 假设有一个包含文本的 Series
s = pd.Series(['123 abc', '456 def', '789 ghi'])
# 使用正则表达式提取数字
matches = s.str.extract('(\d+)')
# matches 的值将是一个新的 Series,内容为 ['123', '456', '789']
```
`str.extract` 还允许你为提取出的列指定名称:
```python
# 提取数字,并为列指定名称 'num'
matches = s.str.extract('(\d+)', expand=False)
matches.name = 'num'
```
在使用 `str.extract` 时,你还可以通过命名捕获组的方式,直接将匹配的部分赋值给结果 Series 的特定列名:
```python
# 使用命名捕获组提取数字,并命名为 'number'
matches = s.str.extract('(?P<number>\d+)')
# matches 的值将是一个新的 DataFrame,包含一列名为 'number' 的数据
```
请注意,如果正则表达式匹配不到任何东西,对应的返回值将是 `NaN`。
阅读全文