python词频统计_用Python实现一个词频统计(词云+图)

第一步:首先需要安装工具python

第二步:在电脑cmd后台下载安装如下工具:

python词频统计_用Python实现一个词频统计(词云+图)_第1张图片

(有一些是安装好python电脑自带有哦)

python词频统计_用Python实现一个词频统计(词云+图)_第2张图片

有一些会出现一种情况就是安装不了词云展示库

有下面解决方法,需看请复制链接查看:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

第三步:

1.准备好你打算统计的文件,命名为 家.txt,保存到桌面

2.准备一个做背景的图片,命名为girl.jpg,同样保存到桌面

第四步:插入代码

import re # 正则表达式库

import collections # 词频统计库

import numpy as np # numpy数据处理库

import jieba # 结巴分词

import wordcloud # 词云展示库

from PIL import Image # 图像处理库

import matplotlib.pyplot as plt # 图像展示库

# 读取文件

fn = open('C://Users//Thinkpad//Desktop//家.txt','rt') # 打开文件

string_data = fn.read() # 读出整个文件

fn.close() # 关闭文件

# 文本预处理

pattern = re.compile(u'\t|\n|\.|-|:|;|\)|\(|\?|"') # 定义正则表达式匹配模式

string_data = re.sub(pattern, '', string_data) # 将符合模式的字符去除

# 文本分词

seg_list_exact = jieba.cut(string_data, cut_all = False) # 精确模式分词

object_list = []

remove_words = [u'的', u',',u'和', u'是', u'随着', u'对于', u'对',u'等',u'能',u'都',u'。',u' ',u'、',u'中',u'在',u'了',

u'通常',u'如果',u'我们',u'需要'] # 自定义去除词库

for word in seg_list_exact: # 循环读出每个分词

if word not in remove_words: # 如果不在去除词库中

object_list.append(word) # 分词追加到列表

# 词频统计

word_counts = collections.Counter(object_list) # 对分词做词频统计

word_counts_top10 = word_counts.most_common(10) # 获取前10最高频的词

print (word_counts_top10) # 输出检查

# 词频展示

mask = np.array(Image.open('C://Users//Thinkpad//Desktop//girl.jpg')) # 定义词频背景

wc = wordcloud.WordCloud(

font_path='C:/Windows/Fonts/simhei.ttf', # 设置字体格式

mask=mask, # 设置背景图

max_words=200, # 最多显示词数

max_font_size=100 # 字体最大值

)

wc.generate_from_frequencies(word_counts) # 从字典生成词云

image_colors = wordcloud.ImageColorGenerator(mask) # 从背景图建立颜色方案

wc.recolor(color_func=image_colors) # 将词云颜色设置为背景图方案

plt.imshow(wc) # 显示词云

plt.axis('off') # 关闭坐标轴

plt.show() # 显示图像

(其中代码中有打开路径,每个人存的位置不一样,自己复制粘贴过来哦)

第五步:正常运行

python词频统计_用Python实现一个词频统计(词云+图)_第3张图片

(内附一张背景图)

python词频统计_用Python实现一个词频统计(词云+图)_第4张图片

用python实现一个简单的词云

对于在windows(Pycharm工具)里实现一个简单的词云还是经过了几步小挫折,跟大家分享下,如果遇到类似问题可以参考: 1. 导入wordcloud包时候报错,当然很明显没有安装此包. 2. 安 ...

根据词频生成词云(Python wordcloud实现)

网上大多数词云的代码都是基于原始文本生成,这里写一个根据词频生成词云的小例子,都是基于现成的函数. 另外有个在线制作词云的网站也很不错,推荐使用:WordArt 安装词云与画图包 pip3 insta ...

python抓取数据构建词云

1.词云图 词云图,也叫文字云,是对文本中出现频率较高的"关键词"予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨. 先看几个词 ...

Java爬取B站弹幕 —— Python云图Wordcloud生成弹幕词云

一 . Java爬取B站弹幕 弹幕的存储位置 如何通过B站视频AV号找到弹幕对应的xml文件号 首先爬取视频网页,将对应视频网页源码获得 就可以找到该视频的av号aid=8678034 还有弹幕序号, ...

(改进)Python语言实现词频统计

需求: 1.设计一个词频统计的程序. 2.英语文章中包含的英语标点符号不计入统计. 3.将统计结果按照单词的出现频率由大到小进行排序. 设计: 1.基本功能和用法会在程序中进行提示. 2.原理是利用分 ...

Python第三方库wordcloud(词云)快速入门与进阶

前言: 笔主开发环境:Python3+Windows 推荐初学者使用Anaconda来搭建Python环境,这样很方便而且能提高学习速度与效率. 简介: wordcloud是Python中的一个小巧的 ...

利用python实现简单词频统计、构建词云

1.利用jieba分词,排除停用词stopword之后,对文章中的词进行词频统计,并用matplotlib进行直方图展示 # coding: utf-8 import codecs import ma ...

Python 中文文件统计词频 + 中文词云

1. 词频统计: import jieba txt = open("threekingdoms3.txt", "r", encoding='utf-8').re ...

python:用wordcloud生成一个文本的词云

今天学习了wordcloud库,对<三国演义>生成了词云图片,非常漂亮.就想多尝试几个,结果发现一系列问题.最常出现的一个错误就是"UnicodeDecodeError : .. ...

随机推荐

addslashes() 函数和stripslashes()函数

addslashes() 函数 定义和用法 addslashes() 函数在指定的预定义字符前添加反斜杠. 这些预定义字符是: 单引号 (') 双引号 (") 反斜杠 (\) NULL 语法 ...

[转]ThreadPoolExecutor线程池的分析和使用

1. 引言 合理利用线程池能够带来三个好处. 第一:降低资源消耗.通过重复利用已创建的线程降低线程创建和销毁造成的消耗. 第二:提高响应速度.当任务到达时,任务可以不需要等到线程创建就能立即执行. 第 ...

【BZOJ 2120】 数颜色

Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜 ...

清华申请退学博士作品:完全用Linux工作,凸Windows

清华申请退学博士作品:完全用Linux工作 按尽管我们已经不习惯看长篇大论, 但我还是要说, 这是一篇值得你从头读到尾的长篇文章. 2005年9月22日,清华在读博士生王垠在水木社区BLOG上发表了& ...

[修]python普通继承方式和super继承方式

[转]python普通继承方式和super继承方式 原文出自:http://www.360doc.com/content/13/0306/15/9934052_269664772.shtml 原文的错 ...

前端基本知识(二):JS的原始链的理解

之前一直对于前端的基本知识不是了解很详细,基本功不扎实,但是前端开发中的基本知识才是以后职业发展的根基,虽然自己总是以一种实践是检验真理的唯一标准,写代码实践项目才是唯一,但是经常遇到知道怎么去解决这 ...

luogu 3538/bzoj 2795 Poi2008 哈希+质数结论

题意:给定一个子串,询问一些子区间内的最短循环节(循环节是越短条件约束越多) 开始一看那就哈希处理然后暴力枚举循环节,然后按照循环节长度暴力向后比较,本地测试40,洛谷60 #include

学习java的第4天 (2019-03-21 11:49)

学习java的第4天       好文要顶 关注我 收藏该文   里里零关注 - 0粉丝 - 0       0 0         posted on 2019-03-21 11:49 编辑 抱歉! ...

JMeter&#160;配置元件之计数器Counter

配置元件之计数器Counter   by:授客 QQ:1033553122 测试环境 apache-jmeter-2.13 1.   计数器简介 允许用户创建一个在线程组范围之内都可以被引用的计数器. ...

jQuery().end()的内部实现及源码分析

jQuery().end()的作用是返回当前jQuery对象的上一个状态. 1.end()源码: // 所有通过pushStack方法获得的jQuery对象都可以通过end方法返回之前的状态   // ...

你可能感兴趣的:(python词频统计)