Spec-Zone.ru › pandas 0.24

pandas.Series.str.split

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

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

Разделяет строки в Series/Index с начала по указанному разделителю. Эквивалентно str.split().

Параметры:
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])

По умолчанию, строка разделяется по пробелам.

>>> 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

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

Spec-Zone.ru

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