我正在为一个作业在一些tweet上做情绪分析功能,我有几个问题
1)当我单独使用for循环时,它可以工作,但是当我尝试为函数调用它时,它不能工作,但是如果我单独使用for循环,我必须重复相同的代码(因为情绪分析考虑时区,因此,我必须在不同的时区反复地重复代码,而不是多次调用函数)
def sentiment_calculations(keywordsFromTweet, wordCounter, tweetCounter, sentimentValue):
tweetCounter += 1
for word1, key1 in valueAndKeywordList:
for j in tweetsWithLatLong:
for i in j:
for k in i:
if k == word1 in keywordList:
keywordsFromTweet.append(k)
wordCounter += 1
for word2, key2 in valueAndKeywordList:
for i in keywordsFromTweet:
if i == word2:
sentimentValue.append(key2)
average = sum(sentimentValue)/wordCounter
finalTuple = (average, wordCounter, tweetCounter)
return finalTuple
这里的函数是用来计算每个tweet中的关键字、每个tweet中的关键字数、tweet数和情绪值
keywordsFromTweetEastern = []
sentimentValueFromTweetEastern = []
#Eastern
for i in tweetsWithLatLong:
j = i[0]
if float(j[0]) <= p1[0] and float(j[0]) >= p2[0] and float(j[1]) <= p1[1] and float(j[1]) >= p3[1]:
eastern = sentiment_calculations(keywordsFromTweetEastern, wordCounterEastern, easternTweets, sentimentValueFromTweetEastern)
这是我希望函数运行的第一个时区(东部标准时间)
输出应该按顺序给我正确的数字(每个tweet中关键字的情绪总值、每个时区的关键字数和每个时区的tweet数),但它不像for循环那样循环,除非我从每个时区的函数中复制并粘贴代码
但我想做一个函数来实现这一点,而不是有重复的代码
感谢您的帮助!谢谢
目前没有回答
相关问题 更多 >
编程相关推荐