从0到1——Python数据分析

978-7-115-58586-8
作者: 莫振杰
译者:
编辑: 赵轩

图书目录:

详情

作者根据自己多年的前后端开发经验,站在完全零基础读者的角度,详尽介绍了Pytho数据分析的基础知识,以及大量的开发技巧,全书围绕着“数据分析三剑客(NumPy、Pandas、Matplotlib)”进行细致的介绍。这三款工具的知识点非常多,本书尽量系统细致地介绍最精华的知识点,以便为读者构建一个完善的知识体系,并且为后续的工作打下坚实的基础。 每一章后面的实战题以及练习题,经过精心设计,可以锻炼读者的数据分析实战能力,对于巩固基础以及锻炼技术是非常有帮助的。

图书摘要

版权信息

书名:从0到1——Python数据分析

ISBN:978-7-115-58586-8

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版  权

著    莫振杰

责任编辑 赵 轩

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e58586”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

作者简介

莫振杰,全栈工程师,产品设计师,涉猎前端、后端、Python等多个领域,熟练掌握JavaScript、Vue、React、Node.js、Python等多门技术。拥有一个非常活跃、受欢迎的个人网站——绿叶学习网,用于分享开发经验和技术。

作为多种图书的作者,凭着“从0到1”系列图书,获得“人民邮电出版社IT图书2020年最有影响力作者”称号。

前  言

一本好书犹如指路明灯,不仅可以让读者学得轻松,而且能让读者少走很多弯路。如果读者需要的不是大而全,而是恰到好处,那么不妨看看“从0到1”系列图书。

实际上,这个系列是笔者多年开发工作的心血总结,除了技术介绍之外,也注入了自己非常多的思考。笔者虽是一名技术工程师,但对文字非常敏感。对于技术写作来说,笔者更喜欢用最简单的语言来把丰富的知识呈现出来。

在接触任何一门技术时,笔者都会记录初学者遇到的各种问题及自己的各种思考。所以笔者还是比较了解初学者的心态的,也知道怎样才能让大家快速而无障碍地学习。对于这个系列来说,笔者更多是站在初学者的角度编写的。

这个系列从基本语法出发,延伸到Python的各个重要领域,包括网络爬虫、数据分析、数据可视化等。“从0到1”系列的几本图书连贯性非常强,这样做的目的是让大家能够一步到位地系统学习,而不至于浪费大量时间在一些弯路上。

最后想要跟大家说的是:或许这个系列并不十全十美,但相信其独树一帜的讲解方式,也能够让读者的学习之路走得更快、更远。

本书适用对象

数据分析零基础的初学者

想要系统学习的Python工程师

大中专院校相关专业的老师和学生

配套资源

绿叶学习网是笔者开发的一个开源技术网站,也是“从0到1”系列图书的配套网站。本书的所有配套资源(包括源码、答案、PPT等)都可以在该网站中找到下载链接。

此外,读者如果有任何技术问题,想要获取更多学习资源,以及希望和更多技术大牛进行交流,可以加入我们的官方QQ群:280972684、387641216。

特别说明

书中所有数据均为便于读者理解的虚拟数据,不具备其他任何用途,仅供编程练习。并且所有数据的数值、单位皆为举例,不具备实际功能与价值。

特别感谢

在编写本书的过程中,笔者得到了很多人的帮助。

首先要感谢赵轩老师(本书责任编辑),谢谢他这么多年的照顾,他是一位非常专业且不拘一格的编辑。

接下来要感谢五叶草团队的一路陪伴,感谢韦雪芳、陈志东、秦佳、莫振浩花费大量时间对本书进行细致的审阅,并且给出了诸多非常棒的建议。

最后要特别感谢笔者的妹妹莫秋兰,她一直都在默默地支持和关心着我。有这样一个能够懂得自己的人,既是妹妹也是朋友,是笔者一生中非常幸运的事情。

由于个人水平有限,书中难免有错漏之处,读者如果发现问题或有任何意见,可以到绿叶学习网或发邮件(lvyestudy@qq.com)与笔者联系。

莫振杰

2022年3月

资源与支持

本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。

配套资源

本书提供如下资源:

本书源代码;

书中彩图文件。

要获得以上配套资源,请在异步社区本书页面中点击,跳转到下载界面,按提示进行操作即可。注意:为保证购书读者的权益,该操作会给出相关提示,要求输入提取码进行验证。

如果您是教师,希望获得教学配套资源,请在社区本书页面中直接联系本书的责任编辑。

您还可以扫码右侧二维码, 关注【异步社区】微信公众号,回复“e58586”直接获取,同时可以获得异步社区15天VIP会员卡,近千本电子书免费畅读。

提交勘误

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,点击“提交勘误”,输入勘误信息,点击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

扫码关注本书

扫描下方二维码,您将会在异步社区微信服务号中看到本书信息及相关的服务提示。

与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/selfpublish/submission即可)。

如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。

异步社区

微信服务号

第一部分 NumPy篇

第1章 数据分析概述

1.1 数据分析简介

1.1.1  数据科学是什么?

随着大数据及人工智能时代的来临,数据科学变得越来越重要。所谓数据科学,用最简单的一句话来解释就是:处理数据的科学。

网络爬虫、数据分析、数据可视化、机器学习……

在日常学习或工作中,我们或多或少都听过上面这些名词。但是大多数人只停留在了解上,并不知道这些名词的背后其实是有着深层次联系的。如果想要从数据中提炼出有用的信息,一般流程是下面这样的:

获取数据→处理数据→展示数据。

网络爬虫用于获取数据,数据分析用于处理数据,数据可视化用于展示数据。而机器学习则是进一步对数据进行建模,以便进行预测分析。对于数据科学来说,它的工作流可以总结成“OSEMN”,如表1-1和图1-1所示。

表1-1 数据科学的工作流

步骤

常用库

Obtain(获取数据)

Scrapy

Scrub(清洗数据)

NumPy、Pandas

Explore(展示数据)

Matplotlib、Seaborn

Model(数据建模)

Scikit-Learn、SciPy、TensorFlow

iNterpret(解析数据)

Bokeh、D3.js

图1-1是一张非常有价值的图,从中我们可以得到非常重要的两点信息:①Python不同领域之间的关系;②不同领域都会用到什么库。有了这张图,我们在接触Python各个领域的时候,会有一个清晰的学习路线。

图1-1

1.1.2 数据分析是什么?

数据分析,也就是数据科学中“Scrub”(清洗数据)这一环节。它指的是在统计学理论的支持下,使用合理的工具对相关数据进行一定程度的处理,然后把隐藏在数据中的重要信息提炼出来。

通过数据分析,我们可以挖掘出数据的内在规律及有用信息,进而帮助企业创造新的商业价值、提高运营效率、获得持续竞争的优势等。数据分析这种方式更加科学准确,远不是只凭个人经验(也就是“我觉得”)这种方式能比的,所以现在的企业越来越重视数据分析。

可能很多读者都听过“啤酒和纸尿裤的故事”(见图1-2)。为什么沃尔玛将看似毫不相干的啤酒和纸尿裤摆在一起销售,并且它们的销量双双增长呢?这是因为沃尔玛很好地运用了数据分析手段,挖掘出了啤酒和纸尿裤之间的潜在关系。

图1-2

除了商业领域,数据分析在其他领域也有着大量的应用,例如科学研究、社会调查、体育竞技等。

1.1.3 应该学些什么?

如果想要成为一名真正的数据分析师,那么至少要掌握这3个工具:Excel、Python、SQL。由于本书针对的是Python方面的内容,所以Excel和SQL这两个工具就不在本书中展开介绍了。

那么问题来了:学习Python数据分析,我们应该学些什么呢?对于Python数据分析来说,它有非常重要的3个库:NumPy、Pandas、Matplotlib。这3个库又被叫作Python数据分析“三剑客”(见图1-3),本书就是紧紧围绕这3个库来展开介绍的。

图1-3

可能有些读者会问:“既然Excel可以做数据分析,为什么还要使用Python呢?”虽然Excel好用,但是它更适合处理中小量数据,而不适合处理大量数据(也就是所谓的大数据)。Python处理大量数据的效率,远远不是Excel能比得上的。

除了执行效率比Excel高之外,Python的工作量也少很多。业界有一句比较有意思的话:“Excel十分钟,Python两行代码。”这句话恰恰说明了Python的简单高效。

最后需要说明的是,Python虽然是一门编程语言,但是它在数据分析上实现的功能和Excel是非常相似的。所以,我们在学习Python数据分析时,应该和Excel多多进行对比,这样更能加深理解和记忆,如图1-4所示。

图1-4

【常见问题】

对于Python来说,不同的功能需要使用不同的库,为什么它不将这些功能全部集合到自身呢?

这是因为Python的设计者从来没想过要包揽所有的活儿,Python本身只提供基础语法及一些常用的功能模块。如果把所有功能都集中到Python上面,那么Python就会变得非常“臃肿”并且难以维护,运行速度也会变得非常慢。

对于其他功能,Python使用“分工”的方式来管理,不同的功能使用不同的库。例如网络爬虫可以使用Scrapy,而数据分析可以用Pandas等。分工才能更好地管理,在实际开发中,需要用到什么功能,导入对应的库即可。

对于Python来说,有那么一句话:学习Python,其实就是学习Python的各种库。细想一下,这句话也是有一定道理的。

1.2  课程介绍

1.2.1 课程说明

既然是Python数据分析,那么在学习这本书之前,读者必须要有一定的Python基础。因为“从0到1”系列图书是环环相扣的。没有Python基础的读者,可以先去看一下《从0到1——Python快速上手》或者《从0到1——Python进阶之旅》。

后续章节将围绕Python数据分析“三剑客”(NumPy、Pandas、Matplotlib)进行详细介绍。这3个库涉及的知识点非常多,不过笔者会尽可能系统且细致地介绍最精华的知识点,以便为读者构建完整的知识体系打下坚实的基础。

1.2.2 常见问题

1.学习Python数据分析之前,要不要先学习Excel?

实际上这是没有太大必要的。虽然有Excel基础可以帮助我们更快地学习,但即使没有任何Excel基础,我们也一样能轻松地学习Python。当然,如果你既学会了Python又掌握了Excel,那么能在工作、面试时加分不少。

2.学习数据分析之前,要不要先学习网络爬虫?

从数据科学工作流程可以看出,网络爬虫用于获取数据,而数据分析用于处理数据。从正常角度来看,应该是先学会怎么获取数据,然后再学习怎样对数据进行处理。

实际上,网络爬虫、数据分析、数据可视化是可以完全独立开来学习的。虽然它们在应用时有着比较大的联系,但是学习时没有必然的先后顺序。读者完全可以根据自己的喜好来安排学习顺序。

3.我们要不要做实战题及练习题呢?

本书的实战题及练习题,都是笔者精心挑选出来的。数据分析的技术是练出来的,所以读者还是要尽可能地把每一道题都做了,这对巩固基础及打磨技术是非常有帮助的。

4.学习数据分析,有什么好的学习方法推荐?

数据分析涉及的知识点非常杂也非常多,虽然本书已经梳理得足够清晰完善了,但还是远远不够。学习这本书,建议读者看两遍:第一遍把每一个知识点都过一下,留下一个大致的印象;第二遍重新梳理一下脉络,以构建一个清晰完整的知识体系。

1.3 使用VSCode

如果想要使用Python做数据分析,常用的工具有VSCode、PyCharm、Jupyter Notebook这3个。这一节我们先来介绍一下 VSCode(见图1-5)。

图1-5

VSCode,也就是Visual Studio Code,它是现在非常热门的一款主流开发编辑器。VSCode非常强大,不仅可以用于Python开发,还可以用于前端开发、后端开发等。如果想要使用VSCode来进行Python开发,我们需要进行以下3步操作。

安装 VSCode。

安装插件。

运行代码。

1.3.1 安装 VSCode

不管是Windows系统还是macOS系统,VSCode的下载和安装都是一样的,只需要简单的两步。

① 下载 VSCode。打开VSCode官网,在首页找到【Download for XXX】按钮,单击就可以下载了,如图1-6所示。

图1-6

② 安装VSCode。VSCode的安装非常简单,只需要像安装普通软件那样安装VSCode就可以了。笔者并不建议把VSCode安装在C盘,而是推荐安装到其他盘中。安装完成之后,打开 VSCode,界面如图1-7所示。

图1-7

1.3.2 安装插件

VSCode是一个非常自由的开发工具,所以默认情况下它是非常简洁的,并不会额外安装太多的插件。但是它的可定制程度非常高,我们可以根据自己的需要安装一些插件。

如果想要使用VSCode来编写Python代码,需要安装以下3个插件。

Chinese (Simplified) Language:简体中文包。

Python:必备标准库。

Code Runner:用于运行代码。

在VSCode中,所有插件的安装步骤都是一样的。首先单击“extension”(扩展,即插件商店),然后搜索想要的插件名(一般是英文名),最后单击“安装”(Install)就可以安装了,如图1-8所示。需要注意的是,如果插件未生效,就重启一下 VS Code。

图1-8

读者还可以搜索一些关于Python的其他插件,然后自行安装。

1.3.3 运行代码

接下来给读者介绍如何在VSCode中编写和运行Python代码。

① 创建项目。首先我们在任意一个计算机磁盘中创建一个名为“python-test”的文件夹,然后在VSCode左上角选择【文件】→【打开文件夹】选项,如图1-9所示,打开刚刚创建的“python-test”文件夹。一个文件夹就相当于一个项目。

图1-9

② 创建文件。将鼠标指针移到左栏空白处,单击鼠标右键,选择【新建文件】选项,如图1-10所示,输入文件名“test.py”。其中,“.py”是Python代码文件的扩展名。

图1-10

③ 编写代码。在“test.py”文件中编写一段Python代码,如图1-11所示。编写完代码之后,一定要记得保存。很多初学者就是因为没有保存代码,才导致许多问题的产生。

图1-11

④ 运行代码。在VSCode顶部选择【终端】→【新终端】选项,打开终端窗口。这个终端窗口非常重要,不管是Python开发,还是前端开发、C/C++开发等,都会用到这个终端窗口。

在终端窗口中输入“py test.py”(注意空格),按Enter键就会执行代码,然后会输出结果“3”(也就是1+2的值),如图1-12所示。

图1-12

需要特别注意的是,每次修改“test.py”中的代码后都要先保存再运行,不然修改无法生效。

这里需要说明的是,使用Python来做数据分析时,首选开发工具还是Jupyter Notebook。不过由于大多数读者之前并未接触过数据分析,如果一上来就介绍这个复杂的开发工具,很可能让读者难以理解。所以对于Jupyter Notebook,我们留到最后一章来给大家详细地介绍,这样也是为了让读者可以将其掌握得更好。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e58586”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

相关图书

深度学习的数学——使用Python语言
深度学习的数学——使用Python语言
动手学自然语言处理
动手学自然语言处理
Web应用安全
Web应用安全
Python高性能编程(第2版)
Python高性能编程(第2版)
图像处理与计算机视觉实践——基于OpenCV和Python
图像处理与计算机视觉实践——基于OpenCV和Python
Python数据科学实战
Python数据科学实战

相关文章

相关课程