用法:
Series.str.extractall(pat, flags=0)
將正則表達式
pat
中的捕獲組提取為 DataFrame 中的列。對於係列中的每個主題字符串,從正則表達式 pat 的所有匹配項中提取組。當 Series 中的每個主題字符串都隻有一個匹配項時,extractall(pat).xs(0, level='match') 與 extract(pat) 相同。
- pat:str
帶有捕獲組的正則表達式模式。
- flags:int,默認 0(無標誌)
re
模塊標誌,例如re.IGNORECASE
。這些允許修改大小寫、空格等的正則表達式匹配。多個標誌可以與按位或運算符組合,例如re.IGNORECASE | re.MULTILINE
。
- DataFrame
DataFrame
,每場比賽一行,每組一列。它的行有一個MultiIndex
,第一層來自主題Series
。最後一個級別命名為 ‘match’ 並索引Series
的每個項目中的匹配項。正則表達式 pat 中的任何捕獲組名稱都將用於列名稱;否則將使用捕獲組編號。
參數:
返回:
例子:
具有一組的模式將返回具有一列的 DataFrame。沒有匹配的索引將不會出現在結果中。
>>> s = pd.Series(["a1a2", "b1", "c1"], index=["A", "B", "C"]) >>> s.str.extractall(r"[ab](\d)") 0 match A 0 1 1 2 B 0 1
捕獲組名稱用於結果的列名稱。
>>> s.str.extractall(r"[ab](?P<digit>\d)") digit match A 0 1 1 2 B 0 1
具有兩組的模式將返回具有兩列的 DataFrame。
>>> s.str.extractall(r"(?P<letter>[ab])(?P<digit>\d)") letter digit match A 0 a 1 1 a 2 B 0 b 1
不匹配的可選組在結果中為 NaN。
>>> s.str.extractall(r"(?P<letter>[ab])?(?P<digit>\d)") letter digit match A 0 a 1 1 a 2 B 0 b 1 C 0 NaN 1
相關用法
- Python pandas.Series.str.extract用法及代碼示例
- 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.extractall。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。