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