鱼C论坛

 找回密码
 立即注册
查看: 2215|回复: 2

[已解决]词云

[复制链接]
发表于 2020-7-19 23:07:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. """
  2. wordcloud库
  3. """

  4. # wordcloud.WordCloud() 注意大小写,只能这么写
  5. import wordcloud


  6. c = wordcloud.WordCloud(width=600,height=400,
  7.                         min_font_size=50,max_font_size=100,
  8.                         font_step=5,
  9.                         max_words=20,
  10.                         stop_words={'Python'})
  11.             # 这步不是“将 c 定义为 wordcloud 的缩写”,import wordcloud as c才是。这步是设定参数。
  12.             # 括号里如果没填参数,那就用系统默认的。                                                                           
  13.             # font_step=字体最小间隔;
  14.             # font_path='字体(一般格式为.ttc)';
  15.             # max_words=单词云显示的最大单词数量;
  16.             # stop_words=排除不需要显示的单词列表
  17.         
  18. print( c.generate('Love and Peace! Love Python! banana, apple or orange. @Python') )               # 向 WordCloud 对象 c 中加载文本txt
  19. c.to_file('//Users//h//Desktop//picture.png')                                               # 将词云输出为图像文件(.png 或者.jpg)
复制代码



---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-26-7a10733b695e> in <module>
     11                         font_step=5,
     12                         max_words=20,
---> 13                         stop_words={'Python'})
     14             # 这步不是“将 c 定义为 wordcloud 的缩写”,import wordcloud as c才是。这步是设定参数。
     15             # 括号里如果没填参数,那就用系统默认的。

TypeError: __init__() got an unexpected keyword argument 'stop_words'


stop_words,这怎么会没有呢??
我要做一个词云,想把文本里的Python这个词排除在统计之外
最佳答案
2020-7-19 23:08:47


stop_words 参数的下划线去掉,改成 stopwords

  1. """
  2. wordcloud库
  3. """

  4. # wordcloud.WordCloud() 注意大小写,只能这么写
  5. import wordcloud

  6. c = wordcloud.WordCloud(width=600, height=400,
  7.                         min_font_size=50, max_font_size=100,
  8.                         font_step=5,
  9.                         max_words=20,
  10.                         stopwords={'Python'})
  11. # 这步不是“将 c 定义为 wordcloud 的缩写”,import wordcloud as c才是。这步是设定参数。
  12. # 括号里如果没填参数,那就用系统默认的。
  13. # font_step=字体最小间隔;
  14. # font_path='字体(一般格式为.ttc)';
  15. # max_words=单词云显示的最大单词数量;
  16. # stop_words=排除不需要显示的单词列表

  17. print(c.generate('Love and Peace! Love Python! banana, apple or orange. @Python'))  # 向 WordCloud 对象 c 中加载文本txt
  18. c.to_file('//Users//h//Desktop//picture.png')  # 将词云输出为图像文件(.png 或者.jpg)
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-7-19 23:08:47 | 显示全部楼层    本楼为最佳答案   


stop_words 参数的下划线去掉,改成 stopwords

  1. """
  2. wordcloud库
  3. """

  4. # wordcloud.WordCloud() 注意大小写,只能这么写
  5. import wordcloud

  6. c = wordcloud.WordCloud(width=600, height=400,
  7.                         min_font_size=50, max_font_size=100,
  8.                         font_step=5,
  9.                         max_words=20,
  10.                         stopwords={'Python'})
  11. # 这步不是“将 c 定义为 wordcloud 的缩写”,import wordcloud as c才是。这步是设定参数。
  12. # 括号里如果没填参数,那就用系统默认的。
  13. # font_step=字体最小间隔;
  14. # font_path='字体(一般格式为.ttc)';
  15. # max_words=单词云显示的最大单词数量;
  16. # stop_words=排除不需要显示的单词列表

  17. print(c.generate('Love and Peace! Love Python! banana, apple or orange. @Python'))  # 向 WordCloud 对象 c 中加载文本txt
  18. c.to_file('//Users//h//Desktop//picture.png')  # 将词云输出为图像文件(.png 或者.jpg)
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-20 01:28:08 | 显示全部楼层
上面的大神把解答写的很清楚了,然后我只是想分享一下碰到类似的问题怎么去自己解决。
根据报错的提示,告诉你在wordcloud这个类初始化方法中出现了unexpected的参数“stop_words”
很显然是那个注释出了错,正确的参数应该是“stopwords”
那么如何去自己解决这个问题。
首先找到你使用的这个包的源码,这里给出链接:https://github.com/amueller/word_cloud/blob/master/wordcloud/wordcloud.py
找到wordcloud这个类的源码,可以善用GitHub的搜索功能

class wordcloud

class wordcloud

然后作者写了详细的关于使用到的参数的注释
2.png
可以看到在这里写的很清楚stopwords的参数命名
3.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-16 09:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表