![06c65f833a5d62b95eedc0808c1848ca.png](https://img-blog.csdnimg.cn/img_convert/06c65f833a5d62b95eedc0808c1848ca.png)
今天主要用一个小案例来练习 Python。通过案例可以了解:
1.jieba 库,很多初学者都是在做一些简单分词的时候了解到 jieba 库。这个库功能非常强大,如果后续考虑往 NLP 方向发展,也会和 jieba 库打交道;
2.wordcloud 库,后续做一些简单的文本分析,可以用到;
3.PIL 库的简单用法。
![21745d79d1d620a81fe3c25bf4e7090d.gif](https://img-blog.csdnimg.cn/img_convert/21745d79d1d620a81fe3c25bf4e7090d.gif)
# 导入需要用到的库import jiebafrom PIL import Imageimport pandas as pdimport numpy as npfrom wordcloud import WordCloudfrom wordcloud import ImageColorGeneratorimport matplotlib.pyplot as plt%matplotlib inline
# 导入本地txt文件,因为是练习,所以随意找一篇txt文件f = open('/Downloads/穿成七零白富美.txt', 'r',encoding='gb18030').read()# 使用jieba中文分词,jieba分词有多种模式,这里我们选用精确分词,避免词云词语出现重复 了解地址:https://github.com/fxsjy/jieba# 把 generator 转化为字符串cut_text = " ".join(jieba.cut(f, cut_all=False))#查看分好的前200个字符cut_text[:200]
'= = = = = = = = = = = = = = = = = = \n 《 穿 成七零白富 美 》 \n 作者 :似伊 \n \n \n \u3000 \u3000 【 文案 】 :\n \u3000 \u3000 一 觉醒 来 , 叶秋秋 穿越 了 \n \u3000 \u3000 带 着 一个 玉佩 空间 来到 了 吃不饱 , 穿 不 暖 的 七十年代 , 成为 红旗 生产队 大队长 家 的 闺女 \n \u3000 \u3000 生产队 里 有 个 传言 , 那 老 叶家 啊'
# 选好一张本地图片,作为词云蒙版
path_img ='/Downloads/timg.jpeg'#将image转化为矩阵background_image = np.array(Image.open(path_img))# 提取图片中的主要颜色,反馈到词云中的文字上image_colors = ImageColorGenerator(background_image)
wordcloud = WordCloud(font_path='/Library/Fonts/msyh.ttf', # 本地中文字体,不加会乱码 mask=background_image, #传入蒙版图像矩阵,使得词云的分布与传入的蒙版图像一致,也就是要传入矩阵格式 height=400, # 高度设置为400 width=800, # 宽度设置为800 scale=20, # 长宽拉伸程度设置为20 max_words=100, # 控制一张画布中最多绘制的词个数,默认为200 background_color='white' # 背景色为白色 ).generate(cut_text)plt.figure(figsize=[12, 10])plt.imshow(wordcloud.recolor(color_func=image_colors), alpha=1)plt.axis('off')plt.show()
温馨小贴示:关注公众号,在对话框回复「词云源码1」获取源码。
扫码关注,后台回复【0907】,领取数据采集思维导图,轻松掌握数据采集的机制与流程。
适合 Python 入门的 8 款强大工具!
Python实现“一行拆多行“和“多行并一行“,你会吗?
这24款效率办公神器,简直不要太强大!
刷完 LeetCode 是什么水平?能拿到什么水平的 offer?
python基础之多线程