當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.Series.str.extract用法及代碼示例


用法:

Series.str.extract(pat, flags=0, expand=True)

將正則表達式 pat 中的捕獲組提取為 DataFrame 中的列。

對於係列中的每個主題字符串,從正則表達式 pat 的第一個匹配項中提取組。

參數

patstr

帶有捕獲組的正則表達式模式。

flagsint,默認 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

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.Series.str.extract。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。