前言:
此时你们对“python3数据分析”大概比较看重,各位老铁们都想要知道一些“python3数据分析”的相关资讯。那么小编同时在网摘上汇集了一些有关“python3数据分析””的相关文章,希望你们能喜欢,看官们快快来了解一下吧!数据与智能 本公众号关注大数据与人工智能技术。由一批具备多年实战经验的技术极客参与运营管理,持续输出大数据、数据分析、推荐系统、机器学习、人工智能等方向的原创文章,每周至少输出7篇精品原创。同时,我们会关注和分享大数据与人工智能行业动态。欢迎关注。
来源 | Data Science from Scratch, Second Edition
作者 | Joel Grus
译者 | cloverErna
校对 | gongyouliu
编辑 | auroral-L
全文共1675字,预计阅读时间15分钟。
第三章 可视化数据
3.1 matplotlib
3.2 条形图
3.3 线图
3.4 散点图
3.5 延伸学习
我相信可视化是实现个人目标最有力的手段之一。
——哈维 • 麦凯
数据科学家工具包的一个基本部分是数据可视化。虽然创建可视化是非常容易的,但要生成好的可视化要困难得多。
数据可视化有两个主要用途:
○ 探索数据
○ 数据交互
在这一章中,我们将集中于构建你将需要的技能,以开始探索你自己的数据,并生成我们将在本书的其余部分使用的可视化。与我们大多数章节的主题一样,数据可视化是一个丰富的研究领域,值得写一本书。尽管如此,我还是会试着给你一个感觉,什么是一个好的可视化,什么不是。
3.1 matplotlib
数据可视化工具多种多样。我们将使用matplotlib库,它被广泛使用(虽然有点显示它的年龄)。如果你有兴趣为网络制作精细的交互式可视化,这可能不是正确的选择,但对于简单的条形图、线图和散点图,它工作得很好。
如前所述,matplotlib不是核心Python库的一部分。激活你的虚拟环境(若要设置一个,请返回到“虚拟环境”并遵循说明),请使用此命令安装它:
我们将使用matplotlib.pyplot模块。在最简单的使用中,pyplot保持一个内部状态,在这种状态下,你可以逐步构建可视化。一旦完成,你可以用savefig保存它,或者用show显示它。例如,制作简单的图(如图3-1)非常简单:
图3-1 简单的线图
制作看起来像出版物,质量好的图更复杂,超出了本章的范围。有许多方法可以自定义图表,例如,轴标签、线条样式和点标记。我们不对这些选项进行全面的探索,而是在我们的示例中使用其中的一些选项。
注意
虽然我们不会使用绝大多数的功能,但matplotlib能够在绘图、复杂的格式和交互式可视化中生成复杂的绘图。 如果你想比我们在这本书中做得更深入,请查看它的文档。
3.2条形图
当你想显示某个数量在某个离散项目集之间的变化时,条形图是一个很好的选择。例如,图3-2显示了各种电影中的每一部都获得了多少奥斯卡奖:
图3-2 简单的条形统计图
条形图也可以是绘制包含分桶数值直方图的好选择,如图3-3所示,以便直观地探索数值的分布方式:
图3-3 使用条形图作为直方图
对plt.bar的第三个参数指定条形宽度。在这里,我们选择了10的宽度,以填充整个数轴中分桶的宽度。我们还将条形图右移5,因此,例如,“10”条形图(对应于数值10-20)将其中心位于15,从而占据正确的范围。我们还在每个条形图添加了一个黑色的边缘,使他们在视觉上不同。
对plt.axis的调用表明,我们希望x轴的范围从-5到105(只是为了在左边和右边留下一点空间),y轴的范围应该在0到5之间。对plt.xticks的调用将x轴标签设置为0、10、20、...、100。
使用plt.axis时要谨慎。当创建条形图时,它被认为是特别糟糕的形式,因为你的y轴不从0开始,因为这是一个容易误导人的方法(图3-4):
图3-4 带有误导性y轴的图表
在图3-5中,我们使用更合理的轴,它看起来不那么令人印象深刻:
图3-5 相同的图表与一个非误导的y轴
3.3线图
正如我们已经看到的,我们可以使用plt.plot制作线图。这些是展示趋势的一个很好的选择,如图3-6所示:
图3-6 几个带有图例的线图
3.4散点图
散点图是可视化两对数据集之间关系的正确选择。例如,图3-7说明了用户拥有的朋友数量与他们每天在网站上花费的分钟数之间的关系:
图3-7 网站上的朋友和时间的散点图
如果你要在散点图中展示可比较的变量,如果让matplotlib选择标度,你可能会得到一幅误导性图,如图3-8所示。
图3-8 具有不可比轴的散点图
如果我们调用plt.axis(”equal”),则(图3-9)更准确地显示出大多数的变化发生在测试2上。
图3-9 相同的散点图,具有相等的轴
这些知识点足以让你开始做可视化。我们将在整本书中了解更多关于可视化的知识。
3.5延伸学习
matplotlib Gallery会让你很好地了解使用matplotlib可以做的事情(以及如何做)。
seaborn:是构建在matplotlib之上允许你轻松地生成更漂亮(更复杂)的可视化。
Altair:是用于创建声明性可视化的较新的Python库。
d3.js:是一个JavaScript库,用于为复杂的交互可视化。虽然它不在Python中,但它被广泛使用,熟悉它是非常值得的。
Bokeh:是一个将D3风格的可视化引入Python的库。
标签: #python3数据分析