目录

搜索

输入搜索字词或模块,类或函数名称。

pandas.Series.str.extractall

Series.str.extractall(pat, flags=0)[source]

对于系列中的每个主题字符串,从正则表达式pat的所有匹配中提取组。当系列中的每个主题字符串完全匹配一个时,extractall(pat).xs(0,level ='match')与extract(pat)相同。

版本0.18.0中的新功能。

参数:

pat:string

捕获组的正则表达式模式

标志:int,default 0(无标志)

重新标记模块。 reignignecase

返回:

一个DataFrame,每个匹配一行,每个匹配一列

组。它的行有一个MultiIndex与第一级来自

主题系列。最后一个级别命名为“match”并指示

在主题中的顺序。常规中的任何捕获组名称

表达式pat将用于列名称;否则捕获

将使用组号。

也可以看看

extract
仅返回第一个匹配(不是所有匹配)

例子

具有一个组的模式将返回具有一列的DataFrame。没有匹配项的索引不会出现在结果中。

>>> s = Series(["a1a2", "b1", "c1"], index=["A", "B", "C"])
>>> s.str.extractall("[ab](\d)")
         0
  match
A 0      1
  1      2
B 0      1

捕获组名称用于结果的列名称。

>>> s.str.extractall("[ab](?P<digit>\d)")
        digit
  match
A 0         1
  1         2
B 0         1

具有两个组的模式将返回具有两列的DataFrame。

>>> s.str.extractall("(?P<letter>[ab])(?P<digit>\d)")
        letter digit
  match
A 0          a     1
  1          a     2
B 0          b     1

不匹配的可选组在结果中为NaN。

>>> s.str.extractall("(?P<letter>[ab])?(?P<digit>\d)")
        letter digit
  match
A 0          a     1
  1          a     2
B 0          b     1
C 0        NaN     1
Scroll To Top