如何解决删除列中类似停用词的词
我有一个包含对象列和超过 100,000 行的数据框,如下所示:
df['words']
0 the
1 to
2 of
3 a
4 with
5 as
6 job
7 mobil
8 market
9 think
10....
没有停用词的期望输出:
df['words']
0 way
1 http
2 internet
3 car
4 do
5 want
6 work
7 uber
8....
有没有办法使用 gensim、spacy 或 nltk 在单个列中查看常用的停用词?
我试过了:
from gensim.parsing.preprocessing import remove_stopwords
stopwords.words('english')
df['words'] = df['words'].apply(lambda x: gensim.parsing.preprocessing.remove_stopwords(" ".join(x)))
但这会导致:
TypeError: can only join an iterable
解决方法
使用 nltk 去除停用词。 导入包
import pandas as pd
from nltk.corpus import stopwords
创建停用词列表
stop_words = stopwords.words('english')
stop_words[:10]
那么,
df['newword'] = list(map(lambda line: list(filter(lambda word: word not in stop_words,line)),df.words))
df
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。