将自定义停用词附加到 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 列中删除停用词
df['column2'] = df['column2'].apply(lambda x: ' '.join([item for item in x.split() if item not in stopWordsListEng]))
我有一个包含 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 列中删除停用词
df['column2'] = df['column2'].apply(lambda x: ' '.join([item for item in x.split() if item not in stopWordsListEng]))