我有一组格式为列表的推文。我使用的代码用于删除停用词,但它不返回列表列表,而是返回一个大列表。我需要它作为一个列表列表,以便以后做天真的贝叶斯,所以我该如何改变呢?
from nltk.corpus import stopwords
stop_words = set(stopwords.words('english'))
OAGTokensWOStop = []
for i in range(2708):
for tweet in OAG_Tokenized[i]:
if tweet not in stop_words:
OAGTokensWOStop.append(tweet)
我在大名单上收到所有单词sans stop words,但我需要将输出保留为列表列表。
append(tweet)
将推文内容附加到OAGTokensWOStop
列表中。
您希望它将推文附加为列表,因此您应该这样做:
import numpy as np
OAGTokensWOStop = []
for i in range(2708):
for tweet in OAG_Tokenized[i]:
if tweet not in stop_words:
OAGTokensWOStop.append(np.array(tweet))
在这里,您将推文附加为列表中的numpy数组。因此创建列表列表。
我猜。
你必须在for
循环中创建空列表,在这个列表中添加单词,最后在循环结束时将列表添加到OAGTokensWOStop
。
OAGTokensWOStop = []
for i in range(2708):
row = []
for tweet in OAG_Tokenized[i]:
if tweet not in stop_words:
row.append(tweet)
OAGTokensWOStop.append(row)
您正在为自己创建一个列表。
from nltk.corpus import stopwords
stop_words = set(stopwords.words('english'))
OAGTokensWOStop = []
for item in OAG_Tokenized:
temp = []
for tweet in item:
if tweet not in stop_words:
temp.append(tweet)
OAGTokensWOStop.append(temp)