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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
