我目前正在处理此数据科学问题,尝试遍历存储在过滤后的tweet列表中的每条tweet时都遇到问题,这并不意味着将其发送给新功能进行进一步清理
k1_tweets_filtered只是一系列删除了少于20个字符的推文的推文。我现在想做的是将该列表发送到另一个函数以进一步处理,但它只做1条推文。该列表是通过搜索Twitter占据的。
问题在于它只在第一条推文中这样做,而没有其他任何事情。我需要它来处理该列表中的所有推文。看看k1_tweets_filtered的len,它的512,然后经过处理的len只显示14。也许我的循环是错误的?
谢谢您的帮助!
代码:
k1_tweets_processed = []
for tweet in k1_tweets_filtered:
k1_tweets_processed = pre_process(tweet_k1)
def pre_process(doc):
doc = doc.lower()
# getting rid of non ascii codes
doc = remove_non_ascii(doc)
# replacing URLs
url_pattern = "http://[^\s]+|https://[^\s]+|www.[^\s]+|[^\s]+\.com|bit.ly/[^\s]+"
doc = re.sub(url_pattern, 'url', doc)
punctuation = r"\(|\)|#|\'|\"|-|:|\\|\/|!|\?|_|,|=|;|>|<|\.|\@"
doc = re.sub(punctuation, ' ', doc)
return [w for w in doc.split() if len(w) > 2]
对于一条推文它工作正常,但是我试图将其中的每条推文的整个列表发送给它,以便对其进行正确处理。最终列表应该正确处理每条推文,而不是仅处理第一条。
答案 0 :(得分:0)
看起来您正在将列表的值设置为函数的输出。相反,您需要在for循环中使用类似以下内容的内容添加到列表中:
for tweet in k1_tweets_filtered:
k1_tweets_processed.append(pre_process(tweet))
如果有帮助,请接受答案。