当前位置:   article > 正文

案例上手 Python 数据可视化

pycsv数据导入可视化
课程亮点
  • 6 个常用的数据可视化工具使用方法
  • 20 个案例贯穿各个工具的学习过程
  • 基于 GUI / HTML / Web 网站多种绘图风格
  • 中、美、日三国不同思想的制图工具
  • 从静态到交互,满足不同需要的图示
课程背景

数据可视化是数据分析和机器学习的重要环节,比如数据清洗、特征工程、机器学习、数据分析(特别是报告)、评估等环节都会用到“数据可视化”技术。

数据可视化同时还广泛存在于各种商业、政务、教育等领域的业务表述之中。因为“图”才是喜闻乐见、通俗易懂的,也是最直观的。

不仅如此,数据可视化还是独立的业务,在现代社会中有各种引人注目的操作,比如将抽象的东西“可视化”、“直观化”等。

本课程主要向读者介绍了数据可视化中常用工具的使用方法,并且通过多个实战项目案例,让读者更深入地理解可视化的各种方法和技能。

作者介绍

齐伟,苏州研途教育科技有限公司 CTO,在 Web 开发、数据分析、机器学习领域有比较丰富的从业经验,并在大学开设过《机器学习实践》课程。曾出版书籍:《跟老齐学Python:轻松入门》《跟老齐学Python:Django实战》《跟老齐学Python:数据分析》和《Python大学实用教程》(大学教材)。

课程大纲

enter image description here

课程内容
开篇词:为什么学习可视化,应该怎么学

每一本书或每一个课程,都会有前言或开篇词,但是,很多学习者不喜欢阅读前言,这就大错特错了,因为在前言中往往会包含一些作者想要表达的核心观点。

我的日常工作就是写程序,业余时间也写了几本书,也有幸偶尔会与周边几所大学的一些学生分享某些技术。在与我交流的一些程序员、读者和学生中,会提出很多关于如何学习某项技能的问题——这里指的是软件开发或者大数据、机器学习方面,不包括诸如人际关系等技能。在这里,我把其中的重要问题和回答,整理出来,供读者参考。

跟谁学

这里的“谁”,不仅包括“人”,还包括“物”。

先说“物”。

早先学习的媒介比较简单,就是图书,要学习什么知识,没有其他选择,就是买本书。而现如今,选择就多了,除了印刷版的图书之外,还有电子版、音频和视频,甚至视频还分为微课、慕课和课堂实录等,可谓是五花八门。那么,应该选择什么媒介来学习呢?

很显然,上述问题有一个大前提,那就是“自学”,即自己控制学习过程的学习。如果选择这种学习方式,那就要检讨自我:“是否具有自我控制能力?”。判断标准也比较简单,那就是回头看看在自己的求学过程中,是否运用过这种能力?如果答案是肯定的,那么面对这次自学,就会有信心、有方法了;如果是否定的,并不意味着这次不能自学,而是要为自己的这个“第一次”好好谋划一番了。

检讨完自己,确立能够自学,就继续下面的操作;否则,请跳过,直接找一个老师,别吝惜多花钱,从长远来看,最好的投资是跟着老师去学。自学,并非适合任何人。

再回到刚才的问题,选择哪一种学习媒介?

我的回答是:要了解自己,根据自己的情况而定。

比如,自己比较擅长阅读,那么就可以选择借助书(包括印刷版和电子版)来学习;如果看书时间稍长,就犯困,建议还是选择视频媒介稍好一些。但是,即便如此,我也建议要有一本相关的书,因为它能够让我们随意翻阅,可以随时解决某些棘手问题——或许搜索引擎更适合?非也!对于一个初学者,搜索引擎给出的东西太庞杂了,难以找到答案。

“物”选好之后,就要选“人”了。

不论选择书还是线上或线下的课程,都有一些大师或名师,俗话说“名师出高徒”——更符合我们内心的应该是“大师出高徒”。因此,要找一个超级牛的人,比如在大厂工作过的顶级开发者、名校的名教授等,只要看了他们的书、听了他们的课,就能达到登峰造极之高度,再不济至少也要快速掌握。

这是很多人的想法,也能理解,谁不希望以最小的投入来获得最大的产出?最好是“不劳而获”。

只是残酷的现实不断地告诉我们,“大师”和“高徒”之间,不是正相关的。请看下面的思想实验

思想实验是指:使用想像力去进行的实验,所做的都是在现实中无法做到(或现实未做到)的实验。例如,爱因斯坦有相对运动的著名思想实验。思想实验需求的是想像力,而不是感官。

假设某名校,有一个宇宙级的大师教授人工智能课,每年听课的学生有 60 人,该大师在该校授课 10 年,累计有 600 名学生。如果“大师”与“高徒”正相关,那么新的宇宙级大师应该至少有几百名。

但,上述推论与事实不符合。

“名师(大师)出高徒”,只是听起来很好,符合个人的愿望罢了,但不是客观真理。

什么原因?

因为他们不是专门针对你的。

所以,选“人”的标准不是看其头衔,而是看其提供的学习内容是否适合自己。特别是“小白”,更要以通俗易懂的学习资料入手,跟着能“深入浅出”地讲述的“好老师”去学。

学什么

这个问题其实很难回答。因为就编程而言,可以学习的东西就很多了,现在又有大数据、机器学习、人工智能等领域。

至于学什么,拷问的应该是自己,而不是问别人。检视自己擅长什么、喜欢什么,未来有什么规划,根据这个来确定学什么。

有的人也列出了一些非常简明扼要的判断标准,比如:

  • 什么方向工资高,就学什么
  • 现在媒体上宣传什么,就学什么
  • 大师说学什么,就学什么
  • 招聘网站上什么岗位多,就学什么

是否可以据此确定学习内容,此处不置可否。还是做一个思想实验。

假如时光倒退 20 年。在 20 年前,用上面的标准看一看,应该学什么?什么也不需要学,专门买房子(得有好爹)就可以了!

选择学什么的确很困难。高考报志愿的时候,众多家长都纠结于孩子要学什么专业的问题。

除了上帝,谁都不晓得未来什么样,与其纠结某个具体的专业,不如学“万人敌”。

籍曰:“书足以记名姓而已,剑一人敌,不足学,学万人敌。”

——《史记·项羽本纪》

每个领域,都会有一些沉淀下来的基础知识和技能,这是要学的。此外,更重要的是“学习能力”,学习内容是增长学习能力的载体,学习能力就是“万人敌”。

因此,本课程从始至终,会贯彻一个宗旨:提升学习能力,不是唠唠叨叨地诉说知识点。

怎么学

关于学习方法问题,很多书中都有所论述,此处不详述,因为方法都差不多,关键是能不能执行的问题。

学习是一个苦差事,我们从本性上是排斥的。

因此,古人云“书山有路勤为径,学海无涯苦作舟”。

有了“肯吃苦”的思想准备之后,如下具体操作方案,供读者参考:

  • 认真阅读书中的每句话,并且反问自己是否理解了,如果没有理解立刻 Google 相关的信息,这就是把书读厚的理念。
  • 要理解书中的程序示例,逐行理解,甚至于逐行注释,并且,一定要自己亲自敲代码,千万不要复制代码。
  • 在上面的基础上,独立地把示例程序写出来,并进行调试。如果遇到了问题,比如报错了,此时应该“闻过则喜”,因为这是进步的阶梯,务必对照书上的讲解,反思自己写的代码。
  • 要阅读有关技术文档,不论它是中文的还是英文的——这点很重要,千万不要因为语言问题而放弃阅读。
  • 用 Google 搜索(这里不是在做广告,我也不是‘美分’什么的,只是介绍个人的经验),并且不限于使用中文作为搜索关键词。

如果有条件,还建议多参加一些有关技术的专题活动,比如社区活动等,不仅能扩展自己的视野,还能结交很多同道中人。

为什么学“数据可视化”

说的有点多了,现在才回到正题。

如果有志于在大数据、机器学习、人工智能领域从业的话,“数据可视化”是必不可少的,因此说不得不学。

接下来就会有另外一个问题:为什么要选择本达人课作为学习资料?

那就要了解本达人课为读者做了什么。

  • 深入浅出阐述有关知识点和技能,同时“授人以渔”,这是核心目标。

  • 介绍目前常用的几种工具,当然不可能穷尽所有工具,挑选了部分具有代表性的。

    • Matplotlib
    • Seaborn
    • Plotnine
    • Plotly
    • Pyecharts
    • Bokeh
  • 在讲解的过程中,配以丰富的示例。

其他说明

本达人课的所有程序都是基于 Python 语言(Python 3.x 版)来写的,需要做好如下准备。

  • 准备一台适合开发用的计算机,不论是台式机还是笔记本均可。但是,它是否适合开发?只要不是太古老的机器,硬件方面都差不多,关键是操作系统。本达人课中的所有演示都不是基于 Windows 操作系统(也算是我的偏执吧),我不习惯把 Windows 操作系统列位于适合开发的环境,倒是在日常办公方面比较适合,在开发方面我习惯使用 Linux 或者 Mac OS 操作系统。读者可根据自己的喜好选择。本达人课的所有代码,是跨平台的,跟用什么操作系统无关。
  • 已经能够使用 Python 语言编程。
  • 掌握 Numpy 和 Pandas 的基本知识。

这是学习本达人课内容的前置条件。

这些都准备好之后,就开始学习。

课程大纲

本课程分为七大部分,共计 28 篇(含开篇词和结尾)。

  • 准备部分(磨刀不误砍柴,第 0-1 ~ 0-3 课),介绍数据科学工程师的工作流程以及数据可视化的必要性,并且指导学习者安装有关工具。通过这部分的学习,能够对数据科学以及从业者的工作有个总体认识,晓得数据可视化的地位,并在本地计算机安装有关工具。

  • 第一部分(开山鼻祖:Matplotlib,第 1-1 ~ 1-6 课),介绍 Python 语言生态中虽然古老但依然被使用的数据可视化工具 Matplotlib。通过这部分的学习,能够掌握 Matplotlib 的应用思想和方法,并能够绘制常用的统计图。

  • 第二部分(后起之秀:Seaborn,第 2-1 ~ 2-5 课),介绍基于 Matplotlib 发起而来的一种常用的可视化工具 Seaborn。通过这部分的学习,能够掌握 Seaborn 的特点,并熟悉常用统计图的绘制方法。

  • 第三部分(另立门派:Plotnine,第 3-1 ~ 3-3 课),Plotnine 是根据图层概念制图的工具,不同于前面两部分的工具。通过这部分的学习,能够理解图层的概念以及在制图中的应用,掌握 Plotnine 灵活制作个性化图示的方法。

  • 第四部分(特立独行:Plotly,第 4-1 ~ 4-4 课),Plotly 是一款能够“两栖作战”的工具,既能得到静态图片,也能生成动态交互的图示,即从这部分开始,制图工具进入“交互”阶段。通过这部分的学习,能够掌握常用统计图(具有交互功能)的绘制,并可以生成 HTML 文件。

  • 第五部分(中华武功:Pyecharts,第 5-1 ~ 5-2 课),Pyecharts 是非常好的国产工具——中文文档,非常可亲近。Pyecharts 提供的工具和色彩渲染上,都比前述工具有所突破。通过这部分的学习,能够掌握 Pyecharts 的使用方法,特别是利用它实现地理信息可视化和基于 Web 项目发布可视化图示。

  • 第六部分(岛国薄纱:Bokeh,第 6-1 ~ 6-3 课),这是一款来自岛国日本的可视化工具,除了完成通常的操作之外,在交互功能上,比 Plotly 和 Pyecharts 更有特色。通过这部分的学习,能够掌握 Bokeh 的使用方法,特别是 Bokeh 自带服务,能发布基于网络的图示。

课程寄语

最后送上励志名言:

努力面前,忘记背后,向着标杆直跑。

当遇到貌似无法克服的困难时,当怀疑自己是否能够学会时,当受到其他诱惑想放弃时,请来读一读这句话。

开始!

第0-1课:数据科学工作流程

每门学科,都会有一些前置的信息,这里还要再继续唠叨唠叨,最好别引起你的反感呦。

愚见,下面的信息,是需要首先明晰的。

  • 数据分析、人工智能等与数据相关的工作,其工作流程是什么?
  • “数据可视化”,在数据科学中占有什么位置࿱
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/841704
推荐阅读
相关标签
  

闽ICP备14008679号