如何解决从列表列表中删除停用词
我想知道如何从如下列表中删除特定单词,包括停用词:
my_list=[[],[],['A'],['SB'],['NMR'],['ISSN'],['OF','USA'],['THE'],['HOME'],['STAR'],[]]
如果它是一个字符串列表,我会应用如下:
from collections import Counter
stop_words = stopwords.words('english')
text = ' '.join([word for word in my_list if word not in stop_words])
我需要在最后做这样的事情来绘制它:
counts= Counter(chain.from_iterable(my_list))
plt.bar(*zip(*counts.most_common(20)))
plt.show()
要绘制的预期列表:
my_list=[[],['USA'],[]]
解决方法
循环遍历 my_words
,用去除了停用词的列表替换每个嵌套列表。您可以使用设置差异来删除单词。
stop_words = stopwords.words('english')
my_list = [list(set(sublist).difference(stop_words)) for sublist in my_list]
不区分大小写进行比较会变得有点复杂,因为您不能使用内置的集差方法。
my_list = [[word for word in sublist if word.lower() not in stop_words] for sublist in my_list]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。