问题描述
byte
在这里,我有一个名为sbyte
的系列,其中删除了停用词,被import pandas as pd
import matplotlib.pyplot as plt
% matplotlib inline
import spacy
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
nlp= spacy.load('en_core_web_sm')
并进行了合法化
tokens_lemma
我想使用以上系列创建一个wordcloud。
.lower()
我个人认为问题来自tokens_lemma
0 [laptop,sit,4,star,similarly,price,compa...
1 [order,monitor,want,makeshift,area,powerf...
2 [monitor,great,deal,size,.,use,of...
3 [buy,height,adjustment,swivel,ability,...
4 [work,month,die,5,call,hp,support,nu...
...
30618 [great,deal]
30619 [pour,le,travail]
30620 [business,use]
30621 [good,size]
30622 [pour,mon,ordinateur.plus,grande,image.vra...
Name: text_body,Length: 30623,dtype: object
对象,因为wordcloud的数据格式错误。但是同样,我不知道如何更改以匹配wordcloud格式。
解决方法
在写完问题后,我不小心解决了问题,所以我还是要发布它。
只需将数据从for w in tokens_lemma:
w=str(w)
comment_words += " ".join(w)
wordcloud = WordCloud(width = 800,height = 800,background_color ='white',min_font_size = 10).generate(comment_words)
# plot the WordCloud image
plt.figure(figsize = (8,8),facecolor = None)
plt.imshow(wordcloud)
plt.axis("off")
plt.tight_layout(pad = 0)
plt.show()
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-33-9faee80d909b> in <module>
----> 1 wordcloud = WordCloud(width = 800,2 background_color ='white',3 min_font_size = 10).generate(comment_words)
~\anaconda3\envs\datasci\lib\site-packages\wordcloud\wordcloud.py in generate(self,text)
629 self
630 """
--> 631 return self.generate_from_text(text)
632
633 def _check_generated(self):
~\anaconda3\envs\datasci\lib\site-packages\wordcloud\wordcloud.py in generate_from_text(self,text)
611 """
612 words = self.process_text(text)
--> 613 self.generate_from_frequencies(words)
614 return self
615
~\anaconda3\envs\datasci\lib\site-packages\wordcloud\wordcloud.py in generate_from_frequencies(self,frequencies,max_font_size)
401 frequencies = sorted(frequencies.items(),key=itemgetter(1),reverse=True)
402 if len(frequencies) <= 0:
--> 403 raise ValueError("We need at least 1 word to plot a word cloud,"
404 "got %d." % len(frequencies))
405 frequencies = frequencies[:self.max_words]
ValueError: We need at least 1 word to plot a word cloud,got 0.
更改为comment_words
就可以了。
comment_words