news = {'Text':['bNikeb invests in shoes', 'bAdidasb invests in t-shirts', 'dog drank water'], 'Source':['NYT', 'WP', 'Guardian']}
news_df = pd.DataFrame(news)
def string_cleaner(x):
x = x.strip()
x = x.replace('.', '')
x = x.replace(' ', '')
return x
news_df['clean'] = news_df['Text'].apply(string_cleaner)
apply
используется для применения функции к объектам серии pandas, окончательный тип возврата определяется по типу возврата примененной функции. Итак, вы можете подумать о передаче списка значений в функцию по одному для преобразования этих значений, в вашем случае вы отправляете список строк для очистки каждой строки.
Так как x - строка , операции, которые вы применяете (вырезать, заменить), работают напрямую, нет операции .str для строк python. Итак, это дает ошибку. Существует функция str, которая используется таким образом str (x) для приведения другого типа python к строке.