用法:
Series.str.extract(pat, flags=0, expand=True)
将正则表达式
pat
中的捕获组提取为 DataFrame 中的列。对于系列中的每个主题字符串,从正则表达式
pat
的第一个匹配项中提取组。- pat:str
带有捕获组的正则表达式模式。
- flags:int,默认 0(无标志)
re
模块中的标志,例如re.IGNORECASE
,用于修改大小写、空格等内容的正则表达式匹配。有关更多详细信息,请参阅re
。- expand:布尔值,默认为真
如果为 True,则返回每个捕获组一列的 DataFrame。如果为 False,如果有一个捕获组,则返回 Series/Index;如果有多个捕获组,则返回 DataFrame。
- DataFrame 或 Series 或 Index
一个 DataFrame,每个主题字符串一行,每组一列。正则表达式 pat 中的任何捕获组名称都将用于列名称;否则将使用捕获组编号。每个结果列的 dtype 始终是 object,即使没有找到匹配项。如果
expand=False
并且 pat 只有一个捕获组,则返回一个系列(如果主题是系列)或索引(如果主题是索引)。
参数:
返回:
例子:
具有两组的模式将返回具有两列的 DataFrame。不匹配将是 NaN。
>>> s = pd.Series(['a1', 'b2', 'c3']) >>> s.str.extract(r'([ab])(\d)') 0 1 0 a 1 1 b 2 2 NaN NaN
模式可能包含可选组。
>>> s.str.extract(r'([ab])?(\d)') 0 1 0 a 1 1 b 2 2 NaN 3
命名组将成为结果中的列名。
>>> s.str.extract(r'(?P<letter>[ab])(?P<digit>\d)') letter digit 0 a 1 1 b 2 2 NaN NaN
如果 expand=True,一组模式将返回一列 DataFrame。
>>> s.str.extract(r'[ab](\d)', expand=True) 0 0 1 1 2 2 NaN
如果 expand=False,一组模式将返回一个系列。
>>> s.str.extract(r'[ab](\d)', expand=False) 0 1 1 2 2 NaN dtype:object
相关用法
- Python pandas.Series.str.extractall用法及代码示例
- Python pandas.Series.str.endswith用法及代码示例
- Python pandas.Series.str.isdecimal用法及代码示例
- Python pandas.Series.str.get用法及代码示例
- Python pandas.Series.str.replace用法及代码示例
- Python pandas.Series.str.isspace用法及代码示例
- Python pandas.Series.str.isdigit用法及代码示例
- Python pandas.Series.str.wrap用法及代码示例
- Python pandas.Series.str.isalnum用法及代码示例
- Python pandas.Series.str.zfill用法及代码示例
- Python pandas.Series.str.partition用法及代码示例
- Python pandas.Series.str.isnumeric用法及代码示例
- Python pandas.Series.str.startswith用法及代码示例
- Python pandas.Series.str.count用法及代码示例
- Python pandas.Series.str.rpartition用法及代码示例
- Python pandas.Series.str.strip用法及代码示例
- Python pandas.Series.str.removesuffix用法及代码示例
- Python pandas.Series.str.rsplit用法及代码示例
- Python pandas.Series.str.islower用法及代码示例
- Python pandas.Series.str.removeprefix用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.Series.str.extract。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。