使用前需要确保安装以下第三方库:

jieba, wordcloud, imageio, sklearn,csv

imageio、csv和sklearn在安装anaconda时默认是安装的,另外两个库需要手动安装,安装方式如下:

打开Anaconda Prompt使用pip安装即可:

pip install jieba

pip install wordcloud

我们选一篇自己喜欢的文章,然后保存为txt,放到工作目录下。我选取的文章为知乎上秋叶大叔的一篇文章:如何实现财富自由?

我将其内容保存为"caifu.txt",放在工作目录下,以下是获得这篇文章词云图的过程。

获得词云图

from wordcloud importWordCloud, STOPWORDSfrom imageio importimreadfrom sklearn.feature_extraction.text importCountVectorizerimportjiebaimportcsv#获取文章内容

with open("caifu.txt") as f:

contents=f.read()print("contents变量的类型:", type(contents))#使用jieba分词,获取词的列表

contents_cut =jieba.cut(contents)print("contents_cut变量的类型:", type(contents_cut))

contents_list= " ".join(contents_cut)print("contents_list变量的类型:", type(contents_list))#制作词云图,collocations避免词云图中词的重复,mask定义词云图的形状,图片要有背景色

wc = WordCloud(stopwords=STOPWORDS.add("一个"), collocations=False,

background_color="white",

font_path=r"C:\Windows\Fonts\simhei.ttf",

width=400, height=300, random_state=42,

mask=imread('axis.png',pilmode="RGB"))

wc.generate(contents_list)

wc.to_file("ciyun.png")#使用CountVectorizer统计词频

cv =CountVectorizer()

contents_count=cv.fit_transform([contents_list])#词有哪些

list1 =cv.get_feature_names()#词的频率

list2 =contents_count.toarray().tolist()[0]#将词与频率一一对应

contents_dict =dict(zip(list1, list2))#输出csv文件,newline="",解决输出的csv隔行问题

with open("caifu_output.csv", 'w', newline="") as f:

writer=csv.writer(f)for key, value incontents_dict.items():

writer.writerow([key, value])

上述代码中,变量的类型如下:

contents变量的类型: contents_cut变量的类型:contents_list变量的类型:

词云图的形状我尝试了两种,一种是cat.png,另一种是在PPT中直接画一个箭头,保存为图片格式,如下图:

两种背景图产生的词云图结果如下:

我们可以把背景图的设置为任意形状和图片,如果没有合适的照片,我们可以用PPT自己画一个合适的形状。

获得词频列表,保存为csv文件

如果还想要获得词频列表,可以使用sklearn中的CountVectorizer统计词频,当然也可以自己写函数实现。上述代码输出了词频的csv文件,如下图:

参考链接:

python词云图_Python生成一篇文章的词云图相关推荐

  1. 【python实例6.5】一篇文章让你弄懂政府工作报告词云~总结笔记

    一篇文章让你弄懂政府工作报告词云 1.安装wordcloud库 2.新时代中国特色社会主义的词云 wordcloud下载链接: https://www.lfd.uci.edu/~gohlke/pyth ...

  2. 线上python课程一般多少钱-python培训班一般多少钱?一篇文章告诉你

    如今,职场竞争越来越激烈.如果不学习一两项新技能并不断更新你的知识,很容易被年轻一代超越.很多人开始学习python.那么,python培训班一般多少钱? Python语法简洁,代码十分接近人类的自然 ...

  3. python字符串分片_Python第六章字符串ppt

    PPT内容 这是Python第六章字符串ppt,包括了概述,通用序列操作,字符串格式化,字符串方法,正则表达式简介等内容,欢迎点击下载. Python语言编程导论 第六章  字符串 内容提要 概述 通 ...

  4. 大乐透python预测程序_Python生成随机验证码,大乐透号码

    随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__': check_code = "" # ...

  5. python创建窗体_python生成窗口

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 2.python生成目录树上述 cmd 方式虽然可以生成目录树,但是并不美观,让 ...

  6. 入门Python到精通,这一篇文章就够了【精心整理】

    本篇有点长,大家一定要耐心看完,对初学者的你帮助很大!值得收藏! 编程这个东西是真的奇妙.对于懂得的人来说,会觉得这个工具是多么的好用.有趣,而对于小白来说,就如同大山一样.其实这个都可以理解,大家都 ...

  7. python输出姓名_Python生成随机不重复姓名昵称

    姓采用百家姓,名字从常用名字高频字选取两个汉字,再和当前时间戳组合,估计应该是不会重复了,代码如下: # -*- coding:utf-8 -*- import random import time ...

  8. Python中使用wordcloud生成漂亮的中文词云

    场景 实现 新建文件夹ChinaMapWordCloud 文件夹下新建fonts目录用于存放字体. 新建ChinaMap.py from wordcloud import WordCloud impo ...

  9. 有关python方面的论文_一篇文章可以带你理解python中的类

    继续上一章的内容,上一章说到了python的核心部分-创建对象的各种名词的定义,包括:对象,类,多态,封装,继承,接口和内省,面向对象设计.还有不清楚的可以review一下前文.python核心部分创 ...

最新文章

  1. 选择排序算法,只需这篇文章就够了
  2. PMCAFF | same产品分析报告:陌生人社交始终离不开性和脸
  3. hibernate正向生成数据库表以及配置——Teacher.java
  4. es6严格模式需要注意的地方
  5. php mysql 地图 矩形_PHP+Mysql+jQuery中国地图区域数据统计实例讲解
  6. numpy 算术运算(Arithmetic operations)
  7. linux 初始化全部操作
  8. android api 完整翻译之Contacts Provider (学习安卓必知的api,中英文对照)
  9. 如何调整pdf的页边距
  10. C语言入门之C语言开发环境搭建
  11. python浪漫代码表白npy_python实现npy格式文件转换为txt文件操作
  12. C语言中简单冒泡排序不花里胡哨
  13. 微处理器和由微型计算机构成,微处理器的组成
  14. 微博长图快速排版生成工具
  15. 2021年过了大半了,脑机接口取得哪些进展?
  16. Keras_examples
  17. 安卓流畅度测试方法二:FPS Meter测试安卓帧数
  18. 拼多多有哪些API?
  19. 杭电计算机考试科目,杭电计算机考研经验
  20. C++ STL之stack栈容器

热门文章

  1. 基于JAVA+SpringMVC+Mybatis+MYSQL的在线招聘网站
  2. 基于JAVA+SpringMVC+Mybatis+MYSQL的养老社区管理系统
  3. 基于JAVA+SpringMVC+Mybatis+MYSQL的汽车租赁系统
  4. java http data chunk_HTTP协议之Chunked解析
  5. cordova mismatch of cpu architecture问题的解决
  6. Python - WebDriver 识别登录验证码
  7. 网页中调用Google地图
  8. URLConnection学习
  9. Android开发工具大全【转】
  10. 微课|中学生可以这样学Python(3.1节):单分支选择结构