Использовать Series.str.replace
, но только для значений с одинаковыми значениями в обоих столбцах разделенного кадра данных:
pokemons=pd.Series(['AlakazamMega Alakazam',
'BlastoiseMega Blastoise',
'StayITHereMega Blastoise'])
df = pokemons.str.split('Mega\s+', expand=True)
pokemons = pokemons.str.replace(r'^.+(Mega)',r'\1').where(df[0] == df[1], pokemons)
print (pokemons)
0 Mega Alakazam
1 Mega Blastoise
2 StayITHereMega Blastoise
dtype: object
РЕДАКТИРОВАТЬ:
При необходимости удалить все значения перед Mega
:
pokemons = pokemons.str.replace(r'^.+(Mega)',r'\1')
print (pokemons)
0 Mega Alakazam
1 Mega Blastoise
2 Mega Blastoise
dtype: object