Python数据挖掘-词云美化

摘要:
1、语料库构建由于不像之前是对很多个文件进行词频统计,所以不需要使用os.walk()方法遍历每一个文件;只需使用codecs.open()打开相应的文件,(记得close);然后使用jieba模块中的load_userdict()方法导入词库importjiebaimportnumpyimportcodecsimportpandasfile=codecs.open("C:\Users\Jw\De

1、语料库构建

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

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

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

importjieba
importnumpy
importcodecs
importpandas

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 insegs:
    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="")

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 importWordCloud
importmatplotlib.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 importimread
importmatplotlib.pyplot as plt
from wordcloud importWordCloud,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()

免责声明:文章转载自《Python数据挖掘-词云美化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#.ToString()格式大全云平台设计系统,助力业务快速开发下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

从 Android 到 AI 之路

       高煥堂  misoo.tw@qq.com  从 Android 到 AI 之路:Java与Python 携手同行           1.以Python撰写 AI模型框架(Framework) 2.准备Java与Python协同开发环境 3.在Android Studio里撰写Python程序  4.一个基本的AI建模议题:分类的标签设定 5...

《第一行代码》阅读笔记(二十二)——LitePal操作数据库

这里郭神又是一顿称赞,反正强无敌就行了。笔者也咨询了一些大神、专家。对于初学者来说这个框架不仅十分方便,足以应付需求,而且郭神讲解通俗易懂,值得一看。 附上Github链接:https://github.com/LitePalFramework/LitePal 配置LitePal 总结起来就是一句话(最新版的需要去github上面找) implementa...

ORACLE数据库/PLSQL中文乱码问题

首先说一下乱码可能会导致的问题: 使用insert、update语句修改表数据,create、alter语句创建修改表格备注会乱码 使用decode、nvl等函数时含有中文返参会乱码 存储过程、Function中有中文编译时都会乱码,甚至备注都会乱码 导致乱码的原因: PLSQL客户端和ORACLE服务器端编码不一致 解决办法: 步骤1:查询oracle服...

oracle数据库date类型和mysql数据库datetime类型匹配

oracle数据库有date类型,但是没有datetime类型 mysql数据库既有date类型也有datetime类型。Oracle数据库的date类型和mysql的date类型是不一样的,Oracle的date类型为YYYY-MM-DD hh:mm:ss和mysql中的datetime类型匹配, 而 mysql 的date类型为 yyyy-mm-dd。...

Ansible入门系列--playbook

一、playbook基础 1、playbook是由一个或多个"play"组成的列表 2、play的主要功能在于将预定义的一组主机,装扮成事先通过ansible中的task定义好的角色。Task实际是调用ansible的一个module,将多个play组织在一个playbook中,即可以让它们联合起来,按事先编排的机制执行预定义的动作 3、Playbook采...

Python读取大文件的"坑“与内存占用检测

Python高级教程- Python进阶|Scrapy教程|Python高级|Python深入 (pythontab.com) python读写文件的api都很简单,一不留神就容易踩”坑“。笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码。 1.read()与readlines()随手搜索pyt...