将自定义停用词附加到 nltk.corpus 中的默认停用词列表,并使用 lambda 从数据框中的系列中删除停用词

Append custom stopwords to default stopwords list from nltk.corpus and remove stopwords from a series in a dataframe using lambda

我有一个包含 41,000 行 Flickr 标签的多列数据框。我只想从一列中删除所有英文停用词,而其他列保持不变。

这是我从 nltk.corpus:

中提取停用词列表的代码
from nltk.corpus import stopwords
stopWordsListEng = stopwords.words("english")

但我想添加我能想到的其他停用词:

according accordingly across act actually

我还没有想出如何将其添加到现有的停用词列表中。

以及如何应用 lambda 仅删除一列中的停用词。因为我希望我的代码尽可能简单。

这是我的专栏的样子:

column1                        column2                                                 column3
some words from this column    i don't know actually what across to me accordingly     25,000

我希望我的专栏在删除所有停用词后看起来像这样(或多或少):

column1                        column2                column3
some words from this column    don't know what to me  25,000

您可以使用列表 extend

向现有停用词添加额外的停用词
_new_stopwords_to_add = ['according', 'accordingly', 'across', 'act', 'actually']
stopWordsListEng.extend(_new_stopwords_to_add)

仅使用 pandas.DataFrame.apply

从一个 pandas 列中删除停用词
df['column2'] = df['column2'].apply(lambda x: ' '.join([item for item in x.split() if item not in stopWordsListEng]))