Удалить префикс со специальными символами в серии Python Pandas - PullRequest
0 голосов
/ 15 января 2020

Как мне удалить префикс Bale + Damon - в серии ниже?

import pandas as pd
x = pd.Series(['Bale + Damon - Le Mans 66', 'Bale + Damon - Ford', 'Bale + Damon - vs.', 'Bale + Damon - Ferrari'])
print(x)
0    Bale + Damon - Le Mans 66
1    Bale + Damon - Ford
2    Bale + Damon - vs.
3    Bale + Damon - Ferrari

Желаемый вывод:

print(x2)
0    Le Mans 66
1    Ford
2    vs.
3    Ferrari

Я пробовал x2 = x.str.replace('Bale + Damon - ',''), но это не так переделать оригинальную серию.

Ответы [ 2 ]

1 голос
/ 15 января 2020

В вашем случае

x.str.split(' - ',n=1).str[-1]   

0    Le Mans 66
1          Ford
2           vs.
3       Ferrari
dtype: object
0 голосов
/ 15 января 2020

Мы также можем использовать Series.str.partition

x.str.partition(' - ').iloc[:,-1]
0    Le Mans 66
1          Ford
2           vs.
3       Ferrari
Name: 2, dtype: object

ОБНОВЛЕНИЕ

Series.str.replace с regex=False

x = x.str.replace('Bale + Damon - ','',regex=False)

#0    Le Mans 66
#1          Ford
#2           vs.
#3       Ferrari
#dtype: object
...