pandas.Series.str.extractall
- Series.str.extractall(pat, flags=0)[source]
-
Извлечение групп захвата в регулярном выражении pat в качестве столбцов в DataFrame.
Для каждой строки-подстроки в Series извлекаются группы из всех совпадений регулярного выражения pat. Когда каждая строка-подстрока в Series имеет ровно одно совпадение, extractall(pat).xs(0, level=’match’) эквивалентно extract(pat).
- Параметры:
-
- pat:str
-
Шаблон регулярного выражения с группами захвата.
- flags:int, по умолчанию 0 (без флагов)
-
Флаг модуля
re, напримерre.IGNORECASE. Они позволяют изменять соответствие регулярному выражению для таких вещей, как регистр, пробелы и т. д. Несколько флагов можно комбинировать с оператором поразрядного ИЛИ, напримерre.IGNORECASE | re.MULTILINE.
- Возвращаемое значение:
-
- DataFrame
-
DataFrame с одной строкой для каждого совпадения и одним столбцом для каждой группы. Его строки имеют индекс с первыми уровнями, которые поступают от исходной строки
Series. Последний уровень называется ‘match’ и индексирует совпадения в каждом элементеSeries. Любые имена групп захвата в регулярном выражении pat будут использованы в качестве имён столбцов; в противном случае будут использованы номера групп захвата.
См. также
extract-
Возвращает только первое совпадение (не все совпадения).
Примеры
Шаблон с одной группой вернёт DataFrame с одним столбцом. Индексы без совпадений не будут отображаться в результате.
>>> s = pd.Series(["a1a2", "b1", "c1"], index=["A", "B", "C"]) >>> s.str.extractall(r"[ab](\d)") 0 match A 0 1 1 2 B 0 1Имена групп захвата используются для имён столбцов результата.
>>> s.str.extractall(r"[ab](?P<digit>\d)") digit match A 0 1 1 2 B 0 1Шаблон с двумя группами вернёт DataFrame с двумя столбцами.
>>> s.str.extractall(r"(?P<letter>[ab])(?P<digit>\d)") letter digit match A 0 a 1 1 a 2 B 0 b 1Необязательные группы, которые не соответствуют, будут NaN в результате.
>>> s.str.extractall(r"(?P<letter>[ab])?(?P<digit>\d)") letter digit match A 0 a 1 1 a 2 B 0 b 1 C 0 NaN 1
© 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/2.2.2/reference/api/pandas.Series.str.extractall.html