用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。