pandas.Series.str.extract
-
Series.str.extract(pat, flags=0, expand=None) -
Для каждой строки-объекта в серии извлекаются группы из первого совпадения с регулярным выражением 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=True
и pat содержит только одну захватывающую группу,
то возвращается Series (если subject — Series) или Index (если subject
— 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.18.1/generated/pandas.Series.str.extract.html