Таким образом, я могу представить, что слово, которое вы хотите заменить, может быть в ваших данных более двух раз, чем вы можете решить свой случай с помощью следующей функции, а затем использовать .apply
, например, следующее:
Представьте, что ваши данные выглядят так:
keyword
0 transfer
1 atm transfer
2 atm
3 ulta transfer
4 transfer transfer transfer
Как мы видим, индекс 4 содержит ваше ключевое слово 3x.
Так что нам нужно более надежное решение, подобное следующему:
# Function to remove a word
def remove_word(x, word):
if x == word:
return x
elif x.count(word) > 2:
return x.replace(word, '', x.count(word)-1)
else:
return x.replace(word, '', 1)
# Apply the function
df['keyword_2'] = df.keyword.apply(lambda x: remove_word(x, 'transfer'))
Выход
keyword keyword_2
0 transfer transfer
1 atm transfer atm
2 atm atm
3 ulta transfer ulta
4 transfer transfer transfer transfer