У меня есть фрейм данных, созданный с помощью pandas из файла csv с полем под названием хост, где я пытаюсь использовать замену, чтобы удалить некоторые из этого поля. Когда я использую просто замену, он удаляет текст везде, где бы он ни находился, но я хочу, чтобы он был заменен/удален только в том случае, если он начинается с указанного текста. Проведя небольшое исследование, я подумал, что приведенный ниже код будет работать, но это не так, поэтому мне было интересно, может ли кто-нибудь мне помочь.
df['host'] = df['host'].str.replace('^(BBC-)', '')
df['host'] = df['host'].str.replace('^(ITV-)', '')
df['host'] = df['host'].str.replace('^(CHANNEL5-)', '')
В новых версиях Pandas str.replace теперь имеет regex=False
по умолчанию; это было True
в предыдущих выпусках.
попробуйте изменить замену на:
df['host'] = df['host'].str.replace('^BBC-', '', regex=True)
df['host'] = df['host'].str.replace('^ITV-', '', regex=True)
df['host'] = df['host'].str.replace('^CHANNEL5-', '', regex=True)
Можете ли вы привести пример ожидаемого ввода/вывода?