Spec-Zone.ru › pandas 0.24

pandas.Series.str.extractall

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

Для каждой строки-объекта в Series извлекает группы из всех совпадений с регулярным выражением pat. Когда у каждой строки-объекта в Series ровно одно совпадение, extractall(pat).xs(0, level=’match’) эквивалентно extract(pat).

Добавлена в версии 0.18.0.

Параметры:
pat : str

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

flags : int, default 0 (no flags)

Флаг модуля re, например re.IGNORECASE. Они позволяют изменять соответствие регулярным выражениям, например, учитывать регистр, пробелы и т. д. Несколько флагов можно комбинировать с помощью побитового оператора OR, например re.IGNORECASE | re.MULTILINE.

Возвращаемое значение:
DataFrame

DataFrame с одной строкой для каждого совпадения и одним столбцом для каждой группы. Его строки имеют многоуровневый индекс (MultiIndex) с первым уровнем, который получается из исходной строки-объекта. Последний уровень называется «match» и индексирует совпадения в каждом элементе Series. Любые имена захватывающих групп в регулярном выражении pat будут использованы в качестве имён столбцов; в противном случае будут использованы номера захватывающих групп.

См. также

extract
Возвращает только первое совпадение (а не все совпадения).

Примеры

Шаблон с одной группой вернёт DataFrame с одним столбцом. Строки без совпадений не появятся в результате.

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

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

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

Шаблон с двумя группами вернёт DataFrame с двумя столбцами.

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

Необязательные группы, которые не совпадают, отображаются как NaN в результате.

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

© 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.24.2/reference/api/pandas.Series.str.extractall.html

Spec-Zone.ru

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