Метод rpartition
Метод rpartition применяется к строковой серии Series
и разбивает каждую строку на три части: часть до последнего
вхождения разделителя, сам разделитель и часть после разделителя.
Поиск разделителя выполняется справа налево.
Метод возвращает DataFrame с тремя колонками.
В параметрах можно указать разделитель sep.
Синтаксис
ser.str.rpartition(sep=' ', expand=True)
Пример
Давайте разобьём строки по последнему пробелу:
import pandas as pd
ser = pd.Series(['one two three', 'apple banana', 'test'])
res = ser.str.rpartition(' ')
print(res)
Результат выполнения кода:
0 1 2
0 one two three
1 apple banana
2 test
Пример
Разобьём строки по точке с запятой. Если разделитель не найден, то строка помещается в нулевую колонку:
import pandas as pd
ser = pd.Series(['a;b;c', 'd;e', 'f'])
res = ser.str.rpartition(';')
print(res)
Результат выполнения кода:
0 1 2
0 a;b ; c
1 d ; e
2 f
Пример
Разобьём строки по последней точке. В отличие от partition,
который ищет разделитель слева, rpartition ищет справа:
import pandas as pd
ser = pd.Series(['file.txt.csv', 'data.csv', 'image.png'])
res = ser.str.rpartition('.')
print(res)
Результат выполнения кода:
0 1 2
0 file.txt . csv
1 data . csv
2 image . png