Spec-Zone.ru › pandas 0.19

pandas.Series.str.extract

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

Для каждой строки-объекта в Series извлекаются группы из первого совпадения с регулярным выражением pat.

Новая в версии 0.13.0.

Параметры:

pat : строка

Шаблон регулярного выражения с захватывающими группами

flags : int, по умолчанию 0 (без флагов)

Флаги модуля re, например re.IGNORECASE

.. versionadded:: 0.18.0

expand : bool, по умолчанию False

  • Если True, возвращает DataFrame.
  • Если False, возвращает Series/Index/DataFrame.
Возвращаемое значение:

DataFrame с одной строкой для каждой строки-объекта и одним столбцом для

каждой группы. Любые имена захватывающих групп в регулярном выражении pat будут

использоваться в качестве имён столбцов; в противном случае будут использоваться номера захватывающих групп.

Тип данных каждого столбца результата всегда object, даже если совпадений не найдено.

Если expand=False и pat содержит только одну захватывающую группу,

то возвращается Series (если объект - Series) или Index (если объект - Index).

.

См. также

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

Шаблон с одной группой вернёт DataFrame с одним столбцом, если expand=True.

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

Шаблон с одной группой вернёт Series, если expand=False.

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

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.19.2/generated/pandas.Series.str.extract.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API