Anaconda安装jieba库和wordcloud库安装实现词云

这篇博客详细介绍了如何在Anaconda环境下安装jieba和wordcloud库,包括从官方下载压缩包,解压到指定目录,通过Anaconda Prompt执行安装命令。同时,作者提供了一个词云制作的例子,涉及PDF文件处理和词云图像生成,以分析教育改革项目趋势。

一、jieba库安装

1、从官网下载jieba压缩包
https://pypi.org/project/jieba/#files
2、将压缩包解压到anaconda的pkgs目录。
3、打开anaconda prompt,切换目录至比如 C:/anaconda3/pkgs/jieba-0.39然后执行python setup.py install即可。
4、在Ipython中输入import jieba进行测试,如无ModuleNotFoundError异常即安装成功。

二、wordcloud库安装

1、访问官网:https://pypi.org/project/wordcloud/#files 下载whl文件,并解压到anaconda安装目录下的pkgs目录。

(注:所下版本应该与python和系统版本对应,否则会出错,如python版本为3.7,系统为Windows 64,应该下载wordcloud-1.6.0-cp37-cp37m-win_amd64.whl; Anaconda propmpt 输入提示符下输入python -V 可查看Anaconda自带的python版本)

2、打开Anaconda Prompt,输入指令cd C:/anaconda3/pkgs/(即进入wordcloud所在位置);
3、输入pip install wordcloud-1.6.0-cp37-cp37m-win_amd64.whl,回车即可安装。

三、词云练习

以黑龙江省教育厅2019年度高等教育教学改革一般研究项目公示名单为例分析教改项目立项趋势。源文件为PDF格式格式,包含序号、项目编号、项目名称、课题组成员四个字段,下载文件,在阅读器中直接复制然后粘贴到新建的一个文本文件中,文件名为article.txt。(注意,我们只需要项目名称字段的数据)。

另外创建一个610*457像素白颜色的图片文件,命名为wordcloud.jpg。

生成的词云如下:
在这里插入图片描述

源程序:

# -*- coding: utf-8 -*-
"""
Created on Sun Dec  1 22:20:39 2019

@author: Administrator
"""

# 导入扩展库
import re # 正则表达式库
import collections # 词频统计库
import numpy as np # numpy数据处理库
import jieba # 结巴分词
import wordcloud # 词云展示库
from PIL import Image # 图像处理库
import matplotlib.pyplot as plt # 图像展示库
import jieba.analyse  # 结巴分词分析

# 读取文件
fn = open('article.txt', encoding = 'utf-8') # 打开文件
string_data = fn.read() # 读出整个文件
fn.close() # 关闭文件

# 文本预处理
pattern = re.compile(u'SJGY|\d+|黑龙江.*?大学|黑龙江.*?学院|哈尔滨.*?大学|哈尔滨.*?学院|东北.*?大学|佳木斯.*?大学|齐齐哈尔.*?大学|齐齐哈尔.*?学院|绥化学院|牡丹江.*?学院|序号|高校名称|项目名称|项目编号|项目负责人|成员|第.*?页|共.*?页|备注|')
string_data = re.sub(pattern, '', string_data) # 将符合模式的字符去除
pattern = re.compile(u'\t|\n|\.|\s|\-|:|;|\)|\(|\?|"|“|”|《|》|\+|\,|\,|-||') # 定义正则表达式匹配模式
string_data = re.sub(pattern, '', string_data) # 将符合模式的字符去除
#如果直接提取关键词tags,效果并不好
'/'.join(jieba.analyse.extract_tags(string_data,30))


#导入自定义的词库
jieba.load_userdict('D:\\PythonTest\\自定义词库.txt')
seg_list_exact = jieba.cut(string_data, cut_all = False) # cut_all = False为精确模式分词

#去除自定义的停用词,比如研究、基于、创新这些词均无实际价值
remove_words = ['专业','研究','基于','教学','创新','教育','建设','为例','人才培养','教学改革','研究','大学','高校','的','与','类','下','中','以','为','和','共','及','在','院校','—','负责人','本科','李','新','刘'] # 自定义去除词库
object_list = [i for i in seg_list_exact if i not in remove_words] #过滤停用词并存于列表object_list

# 词频统计
word_counts = collections.Counter(object_list) # 对分词做词频统计
word_counts_top30 = word_counts.most_common(30) # 获取前30最高频的词
print (word_counts_top30) # 输出检查

# 词频展示
mask = np.array(Image.open('wordcloud.jpg')) # 定义词频背景
wc = wordcloud.WordCloud(
    font_path = 'C:/Windows/Fonts/simhei.ttf', # 设置字体格式
    mask = mask, # 设置背景图
    max_words = 60, # 最多显示词数
    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() # 显示图像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值