Pandas 系列str.extract(~)
提取出第一的使用正则表达式匹配子字符串。
注意
要提取所有匹配项而不仅仅是第一个匹配项,请使用 str.extractall(~)
。
参数
1. pat
| str
要匹配的正则表达式。
2. flags
| int
| optional
从 re
库设置的标志(例如 re.IGNORECASE
)。可以通过将多个标志与按位 |
组合来设置它们(例如 re.IGNORECASE | re.MULTILINE
)。
3. expand
| boolean
| optional
-
如果是
True
,则具有一组的模式将返回 DataFrame。 -
如果
False
,则具有一组的模式将返回Series
或Index
。
默认情况下,expand=True
。
返回值
-
如果
expand=True
,则返回 DataFrame。 -
如果
expand=False
,则具有一组的模式将返回Series
或Index
。 -
如果有多个捕获组,则无论
expand
是什么,都会返回 DataFrame 。
例子
基本用法
考虑以下 DataFrame :
import pandas as pd
df = pd.DataFrame({'A':['a1','b2','c3']})
df
A
0 a1
1 b2
2 c3
要获取与给定正则表达式匹配的提取子字符串:
df['A'].str.extract('[ab](\d+)')
0
0 1
1 2
2 NaN
这里,[ab]
表示a
或b
,\d+
表示数字。我们使用()
来指示我们要提取的部分。
多个捕获组
我们可以使用多个括号捕获多个组,如下所示:
df['A'].str.extract('([ab])(\d+)') # returns a DataFrame
0 1
0 a 1
1 b 2
2 NaN NaN
设置展开
考虑以下 DataFrame :
import pandas as pd
df = pd.DataFrame({'A':['a1','b2','c3']})
df
A
0 a1
1 b2
2 c3
默认情况下, expand=True
,这意味着即使只有一个捕获组,也会返回 DataFrame :
df['A'].str.extract('[ab](\d+)') # expand=True
0
0 1
1 2
2 NaN
要获取系列(或索引),请设置 expand=False
:
df['A'].str.extract('[ab](\d+)', expand=False)
0 1
1 2
2 NaN
Name: A, dtype: object
相关用法
- Python Pandas Series str extractall方法用法及代码示例
- Python Pandas Series str split方法用法及代码示例
- Python Pandas Series str center方法用法及代码示例
- Python Pandas Series str pad方法用法及代码示例
- Python Pandas Series str replace方法用法及代码示例
- Python Pandas Series str len方法用法及代码示例
- Python Pandas Series str lower方法用法及代码示例
- Python Pandas Series str strip方法用法及代码示例
- Python Pandas Series str rstrip方法用法及代码示例
- Python Pandas Series str lstrip方法用法及代码示例
- Python Pandas Series string contains方法用法及代码示例
- Python Pandas Series to_list方法用法及代码示例
- Python Pandas Series between方法用法及代码示例
- Python Pandas Series map方法用法及代码示例
- Python Pandas Series hasnans属性用法及代码示例
- Python Pandas Series is_monotonic属性用法及代码示例
- Python Pandas Series to_frame方法用法及代码示例
- Python Pandas Series zfill方法用法及代码示例
- Python Pandas Series argmax方法用法及代码示例
- Python Pandas Series is_monotonic_increasing属性用法及代码示例
- Python Pandas Series is_unique属性用法及代码示例
- Python Pandas Series argmin方法用法及代码示例
- Python Pandas Series value_counts方法用法及代码示例
- Python Pandas Series is_monotonic_decreasing属性用法及代码示例
- Python Pandas Series.cumsum()用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas Series str | extract method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。