如何在Wordcloud中除了默认停用词之外添加其他停用词?

时间:2019-01-01 17:20:34

标签: python matplotlib data-analysis stop-words word-cloud

我想将某些单词添加到wordcloud中使用的默认停用词列表中。这是我使用的代码。

all_text = " ".join(rev for rev in twitter_clean.text)
stop_words = ["https", "co", "RT"]
wordcloud = WordCloud(stopwords = stop_words, background_color="white").generate(all_text)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

当我使用此自定义stop_words变量时,像is,was,the这样的词都被解释并显示为频繁出现的词,但是当我使用默认的停用词列表(无stopwords参数)时,会显示很多其他词如此频繁。如何将自定义的stop_words变量以及默认停用词列表添加到词云中。

3 个答案:

答案 0 :(得分:2)

只需将您的列表追加到内置的停用词列表中即可:

从wordcloud文档中获取:

  

停用词:一组字符串或无。这些话将被淘汰。   如果为None,则将使用内置的STOPWORDS列表。

因此您只需将停用词添加到自定义列表中并使用

all_text = " ".join(rev for rev in twitter_clean.text)
stop_words = ["https", "co", "RT"] + list(STOPWORDS)
wordcloud = WordCloud(stopwords = stop_words, background_color="white").generate(all_text)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

答案 1 :(得分:0)

只需使用from wordcloud import STOPWORDS获取原始停用词列表,然后追加您的列表。像这样[STOPWORDS.add(n) for n in custon_stop_words]

答案 2 :(得分:0)

stopwords.update(["https", "co"])