#python #function #jupyter-notebook #anaconda #typeerror
#python #функция #jupyter-записная книжка #анаконда #ошибка типа
Вопрос:
Я хочу применить анализ настроений с помощью записной книжки juypter, это мой код
pos_list = positive_words[‘Positive’].значения.tolist()
def pos_sentiment(tweet): count=0 для слова в pos_list: если слово в tweet: count =1 возвращает количество
clean_data[‘pos_count’] = clean_data[‘tweetText’].apply(лямбда x: pos_sentiment(x))
возникает эта ошибка
Обратная трассировка ошибки типа (последний последний вызов) в —-> 1 clean_data[‘pos_count’] = clean_data[‘tweetText’].применить(лямбда x: pos_sentiment(x))
~ anaconda3libsite-packagespandascoreseries.py в apply(self, func, convert_dtype, аргументы, **kwds) 4198 еще: 4199 значений = self.astype(объект)._values -> 4200 mapped = lib.map_infer(значения, f, convert=convert_dtype) 4201 4202, если len(сопоставлен) и isinstance(сопоставлен [0], серия):
pandas_libs lib.pyx в pandas._libs.lib.map_infer()
в (x) —-> 1 clean_data[‘pos_count’] = clean_data[‘tweetText’].применить(лямбда x: pos_sentiment(x))
в pos_sentiment (tweet) 2 count = 0 3 для слова в pos_list: —-> 4, если слово в твите: 5 count = 1 6 возвращает количество
Ошибка типа: аргумент типа ‘float’ не может быть повторен
Ответ №1:
Вы перебираете значение с плавающей точкой в этой строке
clean_data['pos_count'] = clean_data['tweetText'].apply(lambda x: pos_sentiment(x))
Потому что, если вы зайдете внутрь функции pos_sentiment(x), она должна принимать list, а не float
Что вы должны сделать, это :
clean_data['pos_count'] = pd.Series(pos_sentiment(clean_data['tweetText'].tolist()))
Комментарии:
1. Спасибо, Мохаммед, за ответ, но нет никаких выходных данных, связанных с функцией