Series.str.split()
Метод Series.str.split() разбивает каждую строку Series на список частей по разделителю. С опцией expand=True возвращает DataFrame с колонкой на каждую часть.
Сигнатура
Series.str.split(pat=None, *, n=-1, expand=False, regex=None)
Параметры
pat— разделитель (строка или regex). По умолчанию — пробелы.n— максимум разбиений (-1 = без ограничения).expand—True→ результат какDataFrame.regex— интерпретироватьpatкак regex.
Возвращаемое значение
Series со списками или DataFrame.
Примеры
Пример 1. Базовое разбиение
import pandas as pd
s = pd.Series(["temp=22.5", "hum=55", "press=1013"])
print(s.str.split("="))
0 [temp, 22.5]
1 [hum, 55]
2 [press, 1013]
dtype: object
Пример 2. expand=True — в DataFrame
import pandas as pd
s = pd.Series(["temp=22.5", "hum=55"])
print(s.str.split("=", expand=True))
0 1
0 temp 22.5
1 hum 55
Пример 3. Парсинг CSV-строки
import pandas as pd
s = pd.Series(["1,22.5,55", "2,22.7,56"])
df = s.str.split(",", expand=True)
df.columns = ["ts", "temp", "hum"]
print(df)
ts temp hum
0 1 22.5 55
1 2 22.7 56
Пример 4. n=1 — только первое разбиение
import pandas as pd
s = pd.Series(["a-b-c-d", "x-y-z"])
print(s.str.split("-", n=1, expand=True))
0 1
0 a b-c-d
1 x y-z
Пример 5. По regex (любые пробелы)
import pandas as pd
s = pd.Series([" a b\tc "])
print(s.str.split(r"\s+", regex=True))
0 [, a, b, c, ]
dtype: object
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.