pandas.Series.str.rsplit
-
Series.str.rsplit(self, pat=None, n=-1, expand=False)[source] -
Разделение строк вокруг заданного разделителя/делимитера.
Разделяет строку в Series/Index с конца по указанному разделителю. Эквивалентно
str.rsplit().Параметры: -
pat : str, optional -
Строка или регулярное выражение для разделения. Если не указано, разделение происходит по пробелам.
-
n : int, default -1 (all) -
Предельное количество разделений в выходных данных.
None, 0 и -1 будут интерпретированы как возврат всех разделений. -
expand : bool, default False -
Расширить разделенные строки в отдельные столбцы.
- Если
True, возвращается DataFrame/MultiIndex, расширяющий размерность. - Если
False, возвращается Series/Index, содержащий списки строк.
- Если
Возвращает: - Series, Index, DataFrame или MultiIndex
-
Тип соответствует вызывающему элементу, если
expand=True(см. Примечания).
См. также
-
Series.str.split - Разделение строк вокруг заданного разделителя/делимитера.
-
Series.str.rsplit - Разделяет строку вокруг заданного разделителя/делимитера, начиная с правого края.
-
Series.str.join - Объединение списков, содержащихся как элементы в Series/Index, с указанным разделителем.
-
str.split - Стандартная библиотечная версия для split.
-
str.rsplit - Стандартная библиотечная версия для rsplit.
Примечания
Обработка параметра
nзависит от количества найденных разделений:- Если найденных разделений >
n, выполнить только первыеnразделения. - Если найденных разделений <=
n, выполнить все разделения. - Если для определенной строки количество найденных разделений <
n, добавитьNoneдля заполнения доnеслиexpand=True
Если используется
expand=True, вызывающие элементы Series и Index возвращают объекты DataFrame и MultiIndex соответственно.Примеры
>>> s = pd.Series(["this is a regular sentence", ... "https://docs.python.org/3/tutorial/index.html", ... np.nan]) 0 this is a regular sentence 1 https://docs.python.org/3/tutorial/index.html 2 NaN dtype: object
В стандартных настройках строка разделяется по пробелам.
>>> s.str.split() 0 [this, is, a, regular, sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 NaN dtype: object
Без параметра
n, результатыrsplitиsplitидентичны.>>> s.str.rsplit() 0 [this, is, a, regular, sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 NaN dtype: object
Параметр
nможет использоваться для ограничения количества разделений по разделителю. Результатыsplitиrsplitотличаются.>>> s.str.split(n=2) 0 [this, is, a regular sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 NaN dtype: object
>>> s.str.rsplit(n=2) 0 [this is a, regular, sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 NaN dtype: object
Параметр
patможет использоваться для разделения по другим символам.>>> s.str.split(pat = "/") 0 [this is a regular sentence] 1 [https:, , docs.python.org, 3, tutorial, index... 2 NaN dtype: object
При использовании
expand=True, элементы разделения будут расширены в отдельные столбцы. Если присутствует NaN, он распространяется по всем столбцам во время разделения.>>> s.str.split(expand=True) 0 1 2 3 0 this is a regular 1 https://docs.python.org/3/tutorial/index.html None None None 2 NaN NaN NaN NaN \ 4 0 sentence 1 None 2 NaNДля несколько более сложных случаев, таких как разделение имени html-документа из url, можно использовать комбинацию параметров.
>>> s.str.rsplit("/", n=1, expand=True) 0 1 0 this is a regular sentence None 1 https://docs.python.org/3/tutorial index.html 2 NaN NaNНе забывайте экранировать специальные символы при явном использовании регулярных выражений.
>>> s = pd.Series(["1+1=2"])
>>> s.str.split(r"\+|=", expand=True) 0 1 2 0 1 1 2 -
© 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.25.0/reference/api/pandas.Series.str.rsplit.html