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