Метод split
Метод split аксессора str применяется к Series
и возвращает объект Series, содержащий списки из строк,
разделённых по указанному разделителю. Первым параметром передаётся
разделитель (по умолчанию пробел). Также можно задать максимальное
количество разбиений через параметр n и направление разбиения
с помощью параметра expand, который управляет типом
возвращаемого объекта.
Синтаксис
ser.str.split(pat=None, n=-1, expand=False)
Пример
Давайте разделим строки по пробелам:
import pandas as pd
ser = pd.Series(['a b c', 'd e f', 'g h i'])
res = ser.str.split()
print(res)
Результат выполнения кода:
0 [a, b, c]
1 [d, e, f]
2 [g, h, i]
dtype: object
Пример
Давайте разделим строки по запятой:
import pandas as pd
ser = pd.Series(['a,b,c', 'd,e,f', 'g,h,i'])
res = ser.str.split(',')
print(res)
Результат выполнения кода:
0 [a, b, c]
1 [d, e, f]
2 [g, h, i]
dtype: object
Пример
Давайте разделим строку на части с расширением результата
в DataFrame:
import pandas as pd
ser = pd.Series(['a,b,c', 'd,e,f', 'g,h,i'])
res = ser.str.split(',', expand=True)
print(res)
Результат выполнения кода:
0 1 2
0 a b c
1 d e f
2 g h i
Пример
Давайте ограничим количество разбиений с помощью параметра n:
import pandas as pd
ser = pd.Series(['a-b-c-d', 'e-f-g-h', 'i-j-k-l'])
res = ser.str.split('-', n=1)
print(res)
Результат выполнения кода:
0 [a, b-c-d]
1 [e, f-g-h]
2 [i, j-k-l]
dtype: object
Пример
Давайте используем регулярное выражение в качестве разделителя:
import pandas as pd
ser = pd.Series(['a1b2c3', 'd4e5f6', 'g7h8i9'])
res = ser.str.split(r'\d')
print(res)
Результат выполнения кода:
0 [a, b, c, ]
1 [d, e, f, ]
2 [g, h, i, ]
dtype: object
Смотрите также
-
метод
rsplit,
который выполняет разбиение строк справа -
метод
partition,
который разделяет строку на три части -
метод
rpartition,
который разделяет строку на три части справа -
метод
extract,
который извлекает подстроки по регулярному выражению