目录

搜索

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

pandas.Series.str.extract

Series.str.extract(pat, flags=0, expand=None)[source]

对于系列中的每个主题字符串,从正则表达式pat的第一个匹配中提取组。

版本0.13.0中的新功能。

参数:

pat:string

捕获组的正则表达式模式

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

重新标记模块。 reignignecase

.. versionadded :: 0.18.0

展开:bool,default False

  • 如果为True,则返回DataFrame。
  • 如果为False,返回Series / Index / DataFrame。
返回:

DataFrame,每个主题字符串一行,一个列

每组。正则表达式pat中的任何捕获组名称

用于列名称;否则捕获组数将为

用过的。每个结果列的dtype始终是对象,即使在什么时候

未找到匹配项。如果expand = False并且pat只有一个捕获组,

然后返回一个系列(如果主题是一个系列)或索引(如果主题

是索引)。

也可以看看

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

例子

具有两个组的模式将返回具有两列的DataFrame。不匹配将是NaN。

>>> s = Series(['a1', 'b2', 'c3'])
>>> s.str.extract('([ab])(\d)')
     0    1
0    a    1
1    b    2
2  NaN  NaN

模式可以包含可选组。

>>> s.str.extract('([ab])?(\d)')
     0  1
0    a  1
1    b  2
2  NaN  3

命名组将成为结果中的列名。

>>> s.str.extract('(?P<letter>[ab])(?P<digit>\d)')
  letter digit
0      a     1
1      b     2
2    NaN   NaN

如果expand = True,则带有一个组的模式将返回一个带有一列的DataFrame。

>>> s.str.extract('[ab](\d)', expand=True)
     0
0    1
1    2
2  NaN

如果expand = False,则具有一个组的模式将返回一个Series。

>>> s.str.extract('[ab](\d)', expand=False)
0      1
1      2
2    NaN
dtype: object
Scroll To Top