如何从python中的列表列表中删除停用词

问题描述 投票:0回答:3

我有一组格式为列表的推文。我使用的代码用于删除停用词,但它不返回列表列表,而是返回一个大列表。我需要它作为一个列表列表,以便以后做天真的贝叶斯,所以我该如何改变呢?

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,但我需要将输出保留为列表列表。

python nltk stop-words
3个回答
0
投票

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数组。因此创建列表列表。


0
投票

我猜。

你必须在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)

0
投票

您正在为自己创建一个列表。

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)

© www.soinside.com 2019 - 2024. All rights reserved.