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