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