Spec-Zone.ru › pandas 0.23

pandas.Series.str.split

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

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

Разделение каждой строки в значениях вызываемого объекта по заданному шаблону, распространяя значения NaN. Эквивалентно str.split().

Параметры:

pat : str, необязательно

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

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

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

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

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

  • Если True, возвращается DataFrame/MultiIndex, расширяющий размерность.
  • Если False, возвращается Series/Index, содержащий списки строк.
Возвращаемое значение:

Series, Index, DataFrame или MultiIndex

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

См. также

str.split
Стандартная библиотечная версия этого метода.
Series.str.get_dummies
Разделение каждой строки на фиктивные переменные.
Series.str.partition
Разделение строки по разделителю, возвращение компонентов до, разделителя и после.

Примечания

Обработка параметра n зависит от числа найденных разделений:

  • Если найденных разделений > n, сделать только первые n разделения
  • Если найденных разделений ≤ n, сделать все разделения
  • Если для определенной строки количество найденных разделений < n, добавить None для дополнения до n если expand=True

Если используется expand=True, Series и Index вызываемые объекты возвращают DataFrame и MultiIndex объекты соответственно.

Примеры

>>> s = pd.Series(["this is good text", "but this is even better"])

По умолчанию, split вернет объект того же размера, содержащий списки, содержащие разделенные элементы.

>>> s.str.split()
0           [this, is, good, text]
1    [but, this, is, even, better]
dtype: object
>>> s.str.split("random")
0          [this is good text]
1    [but this is even better]
dtype: object

При использовании expand=True, разделенные элементы будут развернуты в отдельные столбцы.

Для объекта Series тип возвращаемых данных — DataFrame.

>>> s.str.split(expand=True)
      0     1     2     3       4
0  this    is  good  text    None
1   but  this    is  even  better
>>> s.str.split(" is ", expand=True)
          0            1
0      this    good text
1  but this  even better

Для объекта Index тип возвращаемых данных — MultiIndex.

>>> i = pd.Index(["ba 100 001", "ba 101 002", "ba 102 003"])
>>> i.str.split(expand=True)
MultiIndex(levels=[['ba'], ['100', '101', '102'], ['001', '002', '003']],
       labels=[[0, 0, 0], [0, 1, 2], [0, 1, 2]])

Параметр n может использоваться для ограничения числа разделений в выходных данных.

>>> s.str.split("is", n=1)
0          [th,  is good text]
1    [but th,  is even better]
dtype: object
>>> s.str.split("is", n=1, expand=True)
        0                1
0      th     is good text
1  but th   is even better

Если присутствует NaN, он распространяется по всем столбцам во время разделения.

>>> s = pd.Series(["this is good text", "but this is even better", np.nan])
>>> s.str.split(n=3, expand=True)
      0     1     2            3
0  this    is  good         text
1   but  this    is  even better
2   NaN   NaN   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.23.4/generated/pandas.Series.str.split.html

Spec-Zone.ru

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