#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)