Spec-Zone.ru › pandas 2

pandas.Series.str.rsplit

Series.str.rsplit(pat=None, *, n=-1, expand=False)[source]

Разделение строк по заданному разделителю/делителю с конца.

Разделяет строку в Series/Индексе с конца по указанной строке-разделителю.

Параметры:
pat:str, необязательно

Строка для разделения. Если не указано, разделение происходит по пробелам.

n:int, по умолчанию -1 (все)

Ограничение количества разделений в выводе. None, 0 и -1 будут интерпретированы как возвращение всех разделений.

expand:bool, по умолчанию False

Расширить разделенные строки в отдельные столбцы.

  • Если True, возвращается DataFrame/MultiIndex, расширяющий размерность.

  • Если False, возвращается Series/Index, содержащий списки строк.

Возвращаемые значения:
Series, Index, DataFrame или MultiIndex

Тип соответствует вызывающему объекту, если не expand=True (см. Примечания).

См. также

Series.str.split

Разделение строк по заданному разделителю/делителю.

Series.str.rsplit

Разделяет строку по заданному разделителю/делителю, начиная с правого конца.

Series.str.join

Объединение списков, содержащихся как элементы в Series/Индексе, с указанным разделителем.

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
...     ]
... )
>>> s
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         4
0                                           this    is     a  regular  sentence
1  https://docs.python.org/3/tutorial/index.html  None  None     None      None
2                                            NaN   NaN   NaN      NaN       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

© 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.rsplit.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API