【小白的实战】Python实用功能——分分钟就学会的词云图(下)

简介: 接上期,我们算是可以自己完成一张看起来还不错的词云图了。

image.png

接上期,我们算是可以自己完成一张看起来还不错的词云图了。

没错,仅仅只是看上去不错

image.png

细看你会发现,Harry、Ron、Hermione等人名占用了非常大的画幅。词也是排列得很杂。要有实际意义得话,恐怕这样一副词云图还不能让人满意。

况且我们是自己做的词云图,如果不能随心所欲自己设置一些参数,自己调整出想要得效果,那实在没必要花这么大功夫

今天我们就来一期进阶实战,和大家一起康康我们还能怎么调整词云图。


实战开始


一、回到开发页面


相信有部分小伙伴已经在做完第一幅图之后把jupyter关掉了吧?我们开始下一次实战的第一步当然是回到之前的页面,进入上次打代码的状态啦~

有人说,这么小儿科的东西也算第一步? 你是不是在水字数?

显然不是,这一步对第一次尝试jupyter的朋友来说至关重要。

别忘了这里是小白的实战,事无巨细是我们的原则。没基础的人的确会在这一步卡住,而网上没有相关资料可以带ta过关。不信你接着看:


首先,jupyetr编辑产生的ipynb文件是没法直接点开进入的

image.png

看,直接点会默认打开一个你的集成式开发环境,比如我的是Vscode,你要下一些依赖和编译器啥的才可以运行,这点我暂时也不懂

我们需要像一开始打开jupyter那样从任务栏或者快捷方式打开。

image.png

然后找到我们之前编辑的ipynb文件,点击打开。

image.png

打开就可以直接接着下去写代码了吗?当然不是。 你关闭jupyter内核之后变量的值都会丢失。你现在的f,w这些变量都不是之前值了,物是人非事事休啊。

如果你直接运行最后一串代码想要输出些什么,就会出现报错

image.png

同理,你如果打好了新的代码也一样运行不了。咱们要针对选定的代码cell再运行一次,来获取变量。在这里我们可以发现每一步几乎都是必要的,一环扣一环,所有我们直接全部运行一遍。

image.png

接下来,才是今天的开始


二、StopWords筛选词语


我们之前的问题是什么?

无意义词语太多

词语横七竖八的,太密密麻麻了

……

一个一个来。首先无意义词语像大家耳熟能详的Harry啥的当然不用再出现啦,我们可以屏蔽掉吗?

显然是可以的,wordcloud提供了stopwords参数在WordCloud函数里,可以把你想要屏蔽的传入,就ok了

开始实战:

image.png

咱们在之前编辑的函数里面加上这个参数,用列表的方式把屏蔽词传入。再把这个cell和后面的一通运行。没报错。

image.png

回到桌面一看,我大为震惊。

啥情况?咋屏蔽了几个人名,出来这么多无意义的词呀,and of the都来了

难道我要自己一个个输入这些词把他们屏蔽?那为啥之前没设置stopwords的时候反而没有呢?

一通搜索,发现原来这是wordcloud自带的stopwords在默默奉献。

image.png

如图,这么一长串已经给你准备好了。事实上我们只需要再往里添加我们需要的屏蔽词就行了。

image.png

重新运行,没有报错。到桌面查看新的词云图

image.png

GOOD!达到了我们一开始的目的。接下来我随手再添一些屏蔽词。再用max_words参数限制一下词数,避免太密密麻麻(用法和stopwords一样,如图)

image.png

image.png

差不多,这张图我们可以看出,邓布利多是除了主角三人团出场率最高的,Know经常用,数字中最常出现的是one(可能跟英语一些用法有关,比如one day ,I'm the one who...)……尽情解读吧。


三、如果词云有形状的话……


没错,劲爆内容来啦。wordcloud允许自定义形状,你需要一张只表示形状的纯色图(直接搜就能搜到),比如这个

image.png

剪影图自然是最好的。

不过要读图,我们需要安装一个别的依赖。名叫imageio安装方法一样,直接pip install imageio就行

image.png

这里我已经装好了。直接import imageio

image.png

接下来用imageio.imread把图片传给mask变量,之后是用WordCloud的mask参数设置图片形状的:

image.png

还记得怎么设置文件路径吗?别忘了前面加r取消转义符哦

image.png

把mask参数传入。mask=mask。输出!

image.png

怎么回事……为啥是这样?他把外壳用词语套起来了……

猜测jpg文件无法让imageio发现图片实体,我们需要一个背景透明的png图片,除了主体都是透明的

还能怎么办?打开PS啊

这里稍微跳几步,由于篇幅我们就不带大家装ps了……

image.png

点击“选择”里的“色彩范围”,选中中间黑色部分,复制到新图层后删除背景(因为背景不透明),选择反选,然后delete删掉就行【速通PS】

image.png

完成,导出就行。记得导出png格式的。

修改代码中的相关量后润一下代码

image.png

看来我们的猜想是对的……

只是……

大家下次自己做,还是找一张清晰度高且简单的图片吧……555😭😭😭


结束


那么我们的词云实战英文版就到这里完结了,要不是官方只允许分上中下三篇我能写出一部韩剧(不是)。

正经地说,因为实际上做起来,一件简单的事真地也会有许多需要注意的点,零零散散写进文章,就是千字文了

希望大家之后都能写出细节上完美的代码~加油!


相关文章
|
14天前
|
缓存 监控 测试技术
Python中的装饰器:功能扩展与代码复用的利器###
本文深入探讨了Python中装饰器的概念、实现机制及其在实际开发中的应用价值。通过生动的实例和详尽的解释,文章展示了装饰器如何增强函数功能、提升代码可读性和维护性,并鼓励读者在项目中灵活运用这一强大的语言特性。 ###
|
17天前
|
缓存 开发者 Python
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第35天】装饰器在Python中是一种强大的工具,它允许开发者在不修改原有函数代码的情况下增加额外的功能。本文旨在通过简明的语言和实际的编码示例,带领读者理解装饰器的概念、用法及其在实际编程场景中的应用,从而提升代码的可读性和复用性。
|
16天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第36天】本文将带你走进Python的世界,从基础语法出发,逐步深入到实际项目应用。我们将一起探索Python的简洁与强大,通过实例学习如何运用Python解决问题。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供有价值的指导和灵感。让我们一起开启Python编程之旅,用代码书写想法,创造可能。
|
18天前
|
数据库 Python
异步编程不再难!Python asyncio库实战,让你的代码流畅如丝!
在编程中,随着应用复杂度的提升,对并发和异步处理的需求日益增长。Python的asyncio库通过async和await关键字,简化了异步编程,使其变得流畅高效。本文将通过实战示例,介绍异步编程的基本概念、如何使用asyncio编写异步代码以及处理多个异步任务的方法,帮助你掌握异步编程技巧,提高代码性能。
53 4
|
17天前
|
机器学习/深度学习 数据可视化 数据处理
Python数据科学:从基础到实战
Python数据科学:从基础到实战
25 1
|
18天前
|
机器学习/深度学习 JSON API
Python编程实战:构建一个简单的天气预报应用
Python编程实战:构建一个简单的天气预报应用
33 1
|
13天前
|
数据采集 存储 数据处理
探索Python中的异步编程:从基础到实战
【10月更文挑战第39天】在编程世界中,时间就是效率的代名词。Python的异步编程特性,如同给程序穿上了一双翅膀,让它们在执行任务时飞得更高、更快。本文将带你领略Python异步编程的魅力,从理解其背后的原理到掌握实际应用的技巧,我们不仅会讨论理论基础,还会通过实际代码示例,展示如何利用这些知识来提升你的程序性能。准备好让你的Python代码“起飞”了吗?让我们开始这场异步编程的旅程!
29 0
|
17天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
7天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
13天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
下一篇
无影云桌面