Python заменяет текст столбца

#python-3.x #dataframe

Вопрос:

При выполнении следующей строки кода я получаю ошибку типа: repl должен быть строкой или вызываемым

 ps_df['Name'].str.replace(ps_df['Substitute'].str,'n' ps_df['Substitute'].str)
 

Когда я изменил его на следующее,

 ps_df['Name'].str.replace(ps_df['Substitute'].str,'n' ps_df['Substitute'].str)
 

Я получаю эту ошибку, TypeError: можно объединить только str (не «stringmetods») в str

Комментарии:

1. Не могли бы вы, пожалуйста, отредактировать свой вопрос и поместить туда образец ввода и ожидаемый результат?

Ответ №1:

Согласно документации pandas для pandas.Series.str.replace , первым аргументом должна быть строка или скомпилированное регулярное выражение.

Но вы пытаетесь ввести серию или список строк. Кроме того, вы использовали средство .str доступа серии, которое используется неправильно. Отсюда и ошибка.

Вы должны использовать apply для замены строк по строкам.

 ps_df.apply(lambda x: x.Name.replace(x.Substitute, 'n'   x.Substitute), axis=1)