import pandas as pd
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import wordcloud
from wordcloud import WordCloud,STOPWORDS
# Read the whole text.
remarks = open(r'C:\Users\marmar\Documents\Remarks.txt').read()
#Create words over an image
mask = np.array(Image.open(r'C:\users\marmar\Documents\cloud.png'))
#set the stopwords list
stopwords= set(STOPWORDS)
#append new words to the stopwords list
new_words =open(r'C:\Users\marmar\comments.txt').read()
new_stopwords=stopwords.union(new_words)
#generate the word cloud with parameters
wc = WordCloud(background_color="white",
max_words=2000,
mask=mask,
min_font_size =12,
max_font_size=20,
relative_scaling = 0.5,
stopwords=new_stopwords,
normalize_plurals= True)
wc.generate(remarks)
plt.figure(figsize=(25,25))
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
#Show the wordcloud
plt.show()
По сути, я использую Python 3 (Jupyter Notebook) для создания облака слов с реальным изображением облака. Пакеты WordCloud на самом деле имеют свою собственную функцию стоп-слов. Однако я хочу включить в список стоп-слов некоторые слова, которые я не хочу видеть в своем облаке. Я попытался включить некоторые слова в этот текстовый файл, но я вижу слова в своем облаке. Например, текстовый файл выглядит так: клиент, клиент CSR, удовлетворен, товар выполнен.
Как мне добавить больше слов в список. Я пытался добавить, добавить обе эти функции, и они не будут работать.
Заранее спасибо.
WordCloud
похоже, что вы передаетеstopwords=stopwords
. Разве вы не хотели бы использоватьstopwords=new_stopwords
? - person RagingRoosevelt   schedule 12.12.2017open(...).read().split()
. - person RagingRoosevelt   schedule 12.12.2017