Python数据挖掘-词云美化

1、语料库构建

由于不像之前是对很多个文件进行词频统计,所以不需要使用os.walk()方法遍历每一个文件;

只需使用codecs.open()打开相应的文件,(记得close);

然后使用jieba模块中的load_userdict()方法导入词库

import jieba
import numpy
import codecs
import pandas

file=codecs.open(
    "C:\\Users\\Jw\\Desktop\\python_work\\Python数据挖掘实战课程课件\\2.5\\红楼梦.txt",
    "r",encoding="utf-8")

content=file.read()
file.close

jieba.load_userdict("C:\\Users\\Jw\\Desktop\\python_work\\Python数据挖掘实战课程课件\\2.5\\红楼梦词库.txt")

segments=[]
segs=jieba.cut(content)
for seg in segs:
    if len(seg)>1:
        segments.append(seg)

segmentDF=pandas.DataFrame({
                    "segment":segments})

2、移除停用词

首先是读出停用词库,然后通过DataFrame中isin(),取反~的方法来移除停用词

将筛选后的分词进行统计

stopwords=pandas.read_csv(
        "D:\\Python\\Python数据挖掘\\Python数据挖掘实战课程课件\\2.5\\StopwordsCN.txt",
        encoding="utf-8",
        index_col=False,
        quoting=3,
        sep="\t")

segmentDF=segmentDF[
    ~segmentDF.segment.isin(stopwords.stopword)]

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

3、普通词云的绘制

from wordcloud import WordCloud
import matplotlib.pyplot as plt

wordcloud=WordCloud(
    font_path="D:\\Python\\爱数圈书籍\\Python数据挖掘\\Python数据挖掘实战课程课件\\2.4\\simhei.ttf",
    background_color="black")

words=segStat.set_index("segment").to_dict()

wordcloud=wordcloud.fit_words(words["计数"])
plt.imshow(wordcloud)
plt.close()

4、词云美化

导入scipy.misc中的imread函数,该函数时导入图片,用于词云

从wordcloud模块中导入WordCloud,ImageColorGenerator函数

ImageColorGenerator是提取图片颜色

from scipy.misc import imread
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator

#导入图片
bimg=imread("D:\\Python\\爱数圈书籍\\Python数据挖掘\\Python数据挖掘实战课程课件\\2.5\\贾宝玉.png")

wordcloud=WordCloud(
        background_color="white",
        mask=bimg,font_path="D:\\Python\\爱数圈书籍\\Python数据挖掘\\Python数据挖掘实战课程课件\\2.4\\simhei.ttf")
#适配词云图
wordcloud=wordcloud.fit_words(words["计数"])
#图云颜色
bimgColors=ImageColorGenerator(bimg)

plt.axis("off")
plt.imshow(wordcloud.recolor(color_func=bimgColors))
plt.show()

bimg=imread("D:\\Python\\爱数圈书籍\\Python数据挖掘\\Python数据挖掘实战课程课件\\2.5\\贾宝玉2.png")

wordcloud=WordCloud(
    background_color="white",
        mask=bimg,font_path="D:\\Python\\爱数圈书籍\\Python数据挖掘\\Python数据挖掘实战课程课件\\2.4\\simhei.ttf")

wordcloud = wordcloud.fit_words(words[‘计数‘])

plt.figure(
    num=None,figsize=(8,6),dpi=80,facecolor="w",edgecolor="k")

bimgColors=ImageColorGenerator(bimg)
plt.axis("off")
plt.imshow(wordcloud.recolor(color_func=bimgColors))
plt.show()

原文地址:https://www.cnblogs.com/U940634/p/9736129.html

时间: 2024-08-29 05:09:35

Python数据挖掘-词云美化的相关文章

Python数据挖掘-词云

词云绘制 1.语料库的搭建.分词来源.移除停用词.词频统计 使用方法:os.path.join(path,name)   #连接目录与文件名或目录 结果为path/name import os import os.path import codecs filePaths=[] fileContents=[] for root,dirs,files in os.walk("D:\\Python\\Python数据挖掘\\Python数据挖掘实战课程课件\\2.4\\SogouC.mini\\Sam

python生成词云

期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感. 今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如<倔强>,海阔天空是,什么的大家熟悉的. 所要用到的python库有 jieba(一个中文分词库).wordcould .matplotlib.PIL.numpy. 首先我们要做的是读取歌词.我将歌词存在了文件目录下励志歌曲文本中. 现在来读取他 #encoding=gbk l

使用python绘制词云

最近在忙考试的事情,没什么时间敲代码,一个月也没几天看代码,最近看到可视化的词云,看到网上也很多这样的工具, 但是都不怎么完美,有些不支持中文,有的中文词频统计得莫名其妙.有的不支持自定义形状.所有的都不能自定义颜色 于是网上找了一下,决定用python绘制词云,主要用到的是wordcloud库,安装只需要pip isntall wordcloud就行, 数据用的是酒店评论的数据,代码如下: # -*- coding: utf-8 -*- import matplotlib.pyplot as

python做词云 (WordCloud)

python做词云 (WordCloud) 1. 安装 某个教程给出的方法,到[这里][1]下载相应的wordcolud,然后到相应目录pip安装. 其实直接 pip install wordcloud 就ok了 ,进入python. import wordcloud成功即可. ##2. 文档简要说明 可以看到文档主要就3个主要的函数,目前主要介绍WordCloud模块以及相关的函数. WordCloud() class wordcloud.WordCloud(font_path=None, w

如何用Python做词云(收藏)

看过之后你有什么感觉?想不想自己做一张出来? 如果你的答案是肯定的,我们就不要拖延了,今天就来一步步从零开始做个词云分析图.当然,做为基础的词云图,肯定比不上刚才那两张信息图酷炫.不过不要紧,好的开始是成功的一半嘛.食髓知味,后面你就可以自己升级技能,进入你开挂的成功之路. 网上教你做信息图的教程很多.许多都是利用了专用工具.这些工具好是好,便捷而强大.只是它们功能都太过专一,适用范围有限.今天我们要尝试的,是用通用的编程语言Python来做词云. Python是一种时下很流行的编程语言.你不仅

使用Python定制词云

一.实验介绍 1.1 实验内容 在互联网时代,人们获取信息的途径多种多样,大量的信息涌入到人们的视线中.如何从浩如烟海的信息中提炼出关键信息,滤除垃圾信息,一直是现代人关注的问题.在这个信息爆炸的时代,我们每时每刻都要更新自己的知识储备,而网络是最好的学习平台.对信息过滤和处理能力强,学习效率就会得到提高."词云"就是为此而诞生的."词云"是对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或"

基于Python实现词云制作

1 第三方库的安装与简介 1.1 Python第三方库 jieba(中文分词) 1. 特点 (1)支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析: 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义: 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词. (2)支持繁体分词 (2)支持自定义词典 (3)MIT 授权协议 2. 安装和使用说明 pip install jieba / pip3 install jieba

python简单词云应用

词云 # 必须要有这些库 # pip install matplotlib # pip install wordcloud # pip install scipy # pip install pillow # pip install imageio import wordcloud from imageio import imread mask = imread(r"F:\教师课程\day 06\test7.png") f = open(r'threekingdoms.txt', 'r

python实现词云

一.安装使用命令[pip install wordcloud]安装词云 二.参数使用了OpenCV的数据格式进行读取,字体可以多试几种 def create_wordcloud_pic(): stopwords = get_noisy_word() # 噪声词以字典的形式进行呈现 img = cv2.imread(img_path) # 图片矩阵 font = r'C:\Windows\Fonts\simsun.ttc' # 字体 cloud = WordCloud( # 设置字体,不指定就会出