pandas.Series.str.extractall#
- Series.str.extractall(шаблон, флаги=0)[источник]#
Извлечение захваченных групп в регулярном выражении шаблон как столбцы в DataFrame.
Для каждой строки-субъекта в Series извлечь группы из всех совпадений регулярного выражения pat. Когда каждая строка-субъект в Series имеет ровно одно совпадение, extractall(pat).xs(0, level='match') эквивалентно extract(pat).
- Параметры:
- шаблонstr
Шаблон регулярного выражения с захватывающими группами.
- флагиint, по умолчанию 0 (без флагов)
A
reфлаг модуля, напримерre.IGNORECASE. Они позволяют изменять сопоставление регулярных выражений для таких вещей, как регистр, пробелы, и т.д. Несколько флагов могут быть объединены с помощью побитового оператора ИЛИ, напримерre.IGNORECASE | re.MULTILINE.
- Возвращает:
- DataFrame
A
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
\d)" ) digit match A 0 1 1 2 B 0 1Шаблон с двумя группами вернёт DataFrame с двумя столбцами.
>>> s.str.extractall(r"(?P
[ab])(?P ) letter digit match A 0 a 1 1 a 2 B 0 b 1\d)" Необязательные группы, которые не совпадают, в результате отображаются как NaN.
>>> s.str.extractall(r"(?P
[ab])?(?P ) letter digit match A 0 a 1 1 a 2 B 0 b 1 C 0 NaN 1\d)"