pandas.Series.str.extractall
-
Series.str.extractall(pat, flags=0)[source] -
Для каждой строки-объекта в Series извлекает группы из всех совпадений с регулярным выражением pat. Когда у каждой строки-объекта в Series ровно одно совпадение, extractall(pat).xs(0, level=’match’) эквивалентно extract(pat).
Добавлена в версии 0.18.0.
Параметры: -
pat : str -
Шаблон регулярного выражения с захватывающими группами.
-
flags : int, default 0 (no flags) -
Флаг модуля
re, напримерre.IGNORECASE. Они позволяют изменять соответствие регулярным выражениям, например, учитывать регистр, пробелы и т. д. Несколько флагов можно комбинировать с помощью побитового оператора OR, напримерre.IGNORECASE | re.MULTILINE.
Возвращаемое значение: - DataFrame
-
DataFrame с одной строкой для каждого совпадения и одним столбцом для каждой группы. Его строки имеют многоуровневый индекс (MultiIndex) с первым уровнем, который получается из исходной строки-объекта. Последний уровень называется «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–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.24.2/reference/api/pandas.Series.str.extractall.html