第一步:引入相关的库包:

  1. #coding:utf-8
  2. __author__ = 'Administrator'
  3. import jieba #分词包
  4. import numpy #numpy计算包
  5. import codecs #codecs提供的open方法来指定打开的文件的语言编码,它会在读取的时候自动转换为内部unicode
  6. import pandas
  7. import matplotlib.pyplot as plt
  8. %matplotlib inline
  9.  
  10. from wordcloud import WordCloud#词云包

第二部:导入分好词的西游记txt文件:

  1. file=codecs.open(u"西游记.txt",'r','utf-8')
  2. content=file.read()
  3. file.close()
  4. jieba.load_userdict(u"红楼梦分词.txt")
  5. segment=[]
  6. segs=jieba.cut(content)
  7. for seg in segs:
  8. if len(seg)>1 and seg!='\r\n':
  9. segment.append(seg)

第三部:统计分词结果并去掉停用词:

  1. segmentDF=pandas.DataFrame({'segment':segment})
  2. segmentDF.head()
  3. stopwords=pandas.read_csv("stopwords.txt",index_col=False,quoting=3,sep="\t",names=['stopword'])#quoting=3全不引用
  4. stopwords.head()
  5. segmentDF=segmentDF[~segmentDF.segment.isin(stopwords.stopword)]
  6. wyStopWords=pandas.Series(['之','其','或','亦','方','于','即','皆','因','仍','故','尚','呢','了','的','着','一'
  7. ,'不','乃','呀','吗',
  8. '咧','啊','把','让','向','往','是','在','越','再',
  9. '更','比','很','偏','别','好','可','便','就','但','儿','又','也','都','我','他','来','" "'])
  10. segmentDF=segmentDF[~segmentDF.segment.isin(wyStopWords)]

第四部:统计词频:

  1. segStat=segmentDF.groupby(by=['segment'])['segment'].agg({"计数":numpy.size})
  2. segStat=segStat.reset_index().sort(columns="计数",ascending=False)
  3. segStat

第五步:显示词云

  1. wordcloud=WordCloud(font_path="simhei.ttf",background_color="black")
    wordcloud=wordcloud.fit_words(segStat.head(1000).itertuples(index=False))
    plt.imshow(wordcloud)

第六步:自定义词云形状

  1. from scipy.misc import imread
  2. import matplotlib.pyplot as plt
  3. from wordcloud import WordCloud,ImageColorGenerator
  4. bimg=imread('3.jPG')
  5. wordcloud=WordCloud(background_color="white",mask=bimg,font_path='C:\Windows\Fonts\simhei.ttf')
  6. wordcloud=wordcloud.fit_words(segStat.head(39769).itertuples(index=False))
  7. bimgColors=ImageColorGenerator(bimg)
  8. plt.axis("off")
  9. plt.imshow(wordcloud.recolor(color_func=bimgColors))
  10. plt.show()

用Python玩转词云的更多相关文章

  1. python实现使用词云展示图片

    记录瞬间 首先,要安装一些第三方包 pip install scipyCollecting scipy Downloading https://files.pythonhosted.org/packa ...

  2. 智联招聘的python岗位数据词云制作

    # 根据传入的背景图片路径和词频字典.字体文件,生成指定名称的词云图片 def generate_word_cloud(img_bg_path, top_words_with_freq, font_p ...

  3. python 制作wordcloud词云

    pip install wordcloud 需要用到numpy  pillow matplotlib 安装完成以后 wordcloud_cli --text in.txt --imagefile ou ...

  4. python WordCloud 实现词云

    简单示例 from matplotlib import pyplot as plt from wordcloud import WordCloud filename = "text.txt& ...

  5. 使用Python玩转阿里云盘

    项目地址: https://github.com/foyoux/aligo 这个项目起源于我的一个简单需求, 我有25000个文件, 已经上传了9000个, 但是现在我把这些文件重新整理了, 最后我不 ...

  6. 【Python】生成词云

    import matplotlib.pyplot as plt from wordcloud import WordCloud import jieba text_from_file_with_apa ...

  7. windows下python 正确安装词云包wordcloud的方法

    安装wordcloud的时候果然还是出现了问题,试了网上说的好多办法,最后找到了一种成功率高的,可以优先尝试一下 下载.whl文件http://www.lfd.uci.edu/~gohlke/pyth ...

  8. Python 词云可视化

    最近看到不少公众号都有一些词云图,于是想学习一下使用Python生成可视化的词云,上B站搜索教程的时候,发现了一位UP讲的很不错,UP也给出了GitHub上的源码,是一个很不错的教程,这篇博客主要就是 ...

  9. 如何用Python做词云(收藏)

    看过之后你有什么感觉?想不想自己做一张出来? 如果你的答案是肯定的,我们就不要拖延了,今天就来一步步从零开始做个词云分析图.当然,做为基础的词云图,肯定比不上刚才那两张信息图酷炫.不过不要紧,好的开始 ...

随机推荐

  1. SQL 数据库的使用

    <1>存到数据库 CSql Sql; Sql.SqlSave(15, &m_SALink, 0, 0, 0, 0); <2>取数据 int *pt = new int[ ...

  2. IO-同步,异步,阻塞,非阻塞

    IO-同步,异步,阻塞,非阻塞1.什么是IO数据在系统内核(kernel)和用户进程之间的传递,称为IO. 2.IO操作步骤以read为例,涉及两个系统对象,调用IO的process(or threa ...

  3. repeater没有数据显示暂无数据,无记录

    方法就是在FooterTemplate加个Label并根据repeater.Items.Count判断是否有记录.关键代码如下: <FooterTemplate> <asp:Labe ...

  4. Python for loop and while loop

    #!pyton2 #-*- coding:utf-8 -*- for letter in "Python": print "Current letter is:" ...

  5. [转]Dll注入经典方法完整版

    Pnig0s1992:算是复习了,最经典的教科书式的Dll注入. 总结一下基本的注入过程,分注入和卸载 注入Dll: 1,OpenProcess获得要注入进程的句柄 2,VirtualAllocEx在 ...

  6. Spring学习 Ioc篇(一 )

    一直以来忙于项目的开发,Spring虽然不用,一直想系统地学习一下,想看看它的源码,都没有时间,这段时间比较充裕,就索性先把Spring学习下,熟悉各个功能再去探究它内部的实现.就从Ioc篇开始学习. ...

  7. TFS 2010 如何删除Collection

    在cmd  中 cd 到 目录 c:\Program Files\Microsoft Team Foundation Sever 2010\Tools 执行下面的命令: TfsConfig colle ...

  8. ubuntu 12.04 设置代理

    一. Ubuntu 12.04 apt-get 代理设置 由于公司通过代理上网,firefox的代理设置很容易就搞定了,但是通过apt-get安装软件还是不行,于是,查阅了很多资料,最多的方法就是网上 ...

  9. 七、context command

    context command是用来新建自己的工具,可以调用OPENGL,获取鼠标操作函数,在view窗口画自己想画的东西.(我是这麽理解的,可以以后再确定一下) 下面是一个context comma ...

  10. RedHat5--yun源无法使用问题解决

    YUM是Redhat Linux在线安装更新及软件的工具,但是这是RHEL5的收费功能,如果没有购买Redhat的服务时不能使用RHEL5的更新源的,会提示注册. 由于CentOS是从Redhat演化 ...