pandas.Series.str.extract#
- Series.str.извлечь(шаблон, флаги=0, развернуть=True)[источник]#
Извлечение захваченных групп в регулярном выражении шаблон как столбцы в DataFrame.
Для каждой строки-субъекта в Series извлеките группы из первого совпадения регулярного выражения шаблон.
- Параметры:
- шаблонstr
Шаблон регулярного выражения с захватывающими группами.
- флагиint, по умолчанию 0 (без флагов)
Флаги из
reмодуля, например,re.IGNORECASE, которые изменяют сопоставление регулярных выражений для таких вещей, как регистр, пробелы и т.д. Для подробностей см.re.- развернутьbool, по умолчанию True
Если True, возвращает DataFrame с одним столбцом на группу захвата. Если False, возвращает Series/Index, если есть одна группа захвата, или DataFrame, если есть несколько групп захвата.
- Возвращает:
- DataFrame или Series или Index
DataFrame с одной строкой для каждой исходной строки и одним столбцом для каждой группы. Любые имена групп захвата в регулярном выражении pat будут использоваться для имён столбцов; в противном случае будут использоваться номера групп захвата. Тип данных каждого результирующего столбца всегда object, даже если совпадение не найдено. Если
expand=Falseи pat имеет только одну группу захвата, тогда вернуть Series (если subject - это Series) или Index (если subject - это 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
[ab])(?P ) letter digit 0 a 1 1 b 2 2 NaN NaN\d)' Шаблон с одной группой вернет 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