Я пытаюсь добавить столбец в мой фрейм данных Twitter с оценкой настроения.
Я попробовал приведенный ниже код, но продолжаю получать вывод, который не является 1, 0 или -1 int. как я ожидаю
label =[ ]
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
def sentiment_value(text):
analyser = SentimentIntensityAnalyzer()
result = analyser.polarity_scores(text)
score = result['compound']
if score >= 0.05:
return 1
elif (score > -0.05) and (score < 0.05):
return 0
else:
return -1
Затем я провёл небольшой тест, чтобы посмотреть, сработало ли это, и казалось, что:
# Input:
sample = tweets_df['tidy_tweet'][10]
print(sample)
print('Sentiment: ')
print(sentiment_value(sample))
# Output:
that interest take seen cours approv through thi process wonder which one came core team shot down howev origin wonder what possibl could exist cours which there mani
Sentiment:
1
Затем я попытался применить новую функцию sentiment_value к столбцу, который я хочу набрать
# I have named my clean tweets 'tidy_tweet'
# @handels,special characters, numbers, punctuations, short words have been removed
# Tweets have been tokenizen and stemmed
for row in tweets_df['tidy_tweet']:
label.append(sentiment_value)
tweets_df['label'] = label
Когда я звонил в новый столбец, я ожидал получить оценку настроения, например:
tweets_df['label'].head()
0 1
1 0
2 -1
3 0
4 -1
Но на самом деле я получаю:
0 <function sentiment_value at 0x10284b1e0>
1 <function sentiment_value at 0x10284b1e0>
2 <function sentiment_value at 0x10284b1e0>
3 <function sentiment_value at 0x10284b1e0>
4 <function sentiment_value at 0x10284b1e0>
Я очень новичок в этом и ценю любую помощь, которую может предложить каждый!