pandas.Series.str.extract
-
Series.str.extract(pat, flags=0, expand=None)[source] -
Для каждой строковой темы в Series извлекаются группы из первого совпадения с регулярным выражением pat.
Параметры: pat : строка
Шаблон регулярного выражения с захваченными группами
flags : int, по умолчанию 0 (без флагов)
Флаги модуля re, например re.IGNORECASE
expand : bool, по умолчанию False
- Если True, возвращается DataFrame.
- Если False, возвращается Series/Index/DataFrame.
Добавлена в версии 0.18.0.
Возвращает: 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.21.1/generated/pandas.Series.str.extract.html