Spec-Zone.ru › pandas 1

pandas.Series.str.extract

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

Извлечение групп захвата в регулярном выражении pat в виде столбцов в DataFrame.

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

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

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

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

Флаги из модуля re, например re.IGNORECASE, которые изменяют соответствие регулярному выражению на такие вещи, как регистр, пробелы и т. д. Для получения более подробной информации см. re.

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

Если True, возвращает DataFrame с одним столбцом на каждую группу захвата. Если False, возвращает Series/Index, если есть одна группа захвата, или DataFrame, если есть несколько групп захвата.

Возвращает
DataFrame или Series или Index

DataFrame с одной строкой для каждой строки-предмета и одним столбцом для каждой группы. Любые имена групп захвата в регулярном выражении pat будут использоваться в качестве имён столбцов; в противном случае будут использованы номера групп захвата. Тип данных каждого результатного столбца всегда object, даже если совпадение не найдено. Если expand=False и pat имеет только одну группу захвата, то возвращается Series (если предмет — Series) или Index (если предмет — Index).

См. также

extractall

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

Примеры

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

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

Шаблон может содержать необязательные группы.

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

Имена групп станут именами столбцов в результате.

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

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

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

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

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

© 2008–2022, 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/1.5.0/reference/api/pandas.Series.str.extract.html

Spec-Zone.ru

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