学习Python数据分析的正确姿势

学习Python数据分析的正确姿势

学习 Python 数据分析的正确姿势

原文作者:Manu Jeevan

原文地址:How to Learn Python for Data Science the Right Way

如果你是通过学习给程序员设计的 Python 课程来学习 Python 数据分析,那就大错特错了。很多数据分析师在开始学习 Python 数据分析之前就被引导学习 LeetCode 上那些为程序员准备的编程谜题。这对于只需要提取、清洗数据、绘制可视化图、构建模型的数据分析师来说实在是误人子弟,数据分析师要学的不是开发应用软件,而是应该把时间和精力花在学习处理数据的模块与支持库上。请根据以下步骤一步步学习的Python 数据科学。

配置开发环境

Jupyter Notebook 是一个非常强大的开发环境,而且非常适合展示数据分析的结果。

Anaconda 是安装 Jupyter Notebook 最简单的方式,它是现在最流行的 Python 数据科学发行版,预装了很多最流行的支持库。

学习Python数据分析的正确姿势

Anaconda

建议安装 Anaconda 时,选择支持 Python 3 最新版的版本。

安装好 Anaconda 以后,阅读这篇文章学习如何使用 Jupyter Notebook。

呆鸟云:也可以参考 DataCamp 的 Jupyter Notebook 速查表,点击链接可以下载呆鸟为大家精心制作的高清中文版哦!

学习Python数据分析的正确姿势

Jupyter Notebook 速查表

学些 Python 基础就够了

参考 DataCamp 的 Python 数据科学速查表,即可快速掌握 Python 的基础知识,如果想学习更多 Python 的基础知识,推荐看《Python基础教程(第3版)》。

学习Python数据分析的正确姿势

Python基础教程

学习Python数据分析的正确姿势

Python 数据科学速查表

Numpy 与 pandas 才是数据分析师要学的东西

Python 处理大规模数据,执行数字处理算法其实很慢。听到这里大家可能会问,那你凭什么说 Python 是最流行的数据分析编程语言?

这是因为 Python 有基于 C 与 Fortran 开发的支持库,就是接下来要说的 Numpy 与 Pandas。

数据分析师要学的首先是 Numpy。这是 Python 数据科学计算里最基本的支持库。Numpy 支持高度优化的多维数组,这是绝大多数机器学习算法里最基础的数据结构。

接下来要学的是 Pandas,要知道数据分析师的时间绝大多数都是花在清理数据上。Pandas 是最流行的数据处理支持库,它是 Numpy 的扩展,它的底层代码是基于 Numpy 开发的。Pandas 最主要的数据结构叫 DataFrame。

Pandas 的作者 Wes McKinney 编著的《利用 Python 进行数据分析》一书是学习的Pandas 最好的资料,该书第 4、5、7、8、10 这几章主要介绍 Numpy 与 Pandas,涵盖了这两个支持库操控数据的大部分功能。

呆鸟云:这里推荐阅读 Sean 的译本《利用Python进行数据分析·第2版》,
想要快速了解,也可以参考 DataCamp 的 Numpy 与 Pandas 速查表,点击链接可以下载呆鸟为大家精心制作的高清中文版哦!

学习Python数据分析的正确姿势

Numpy 速查表

学习Python数据分析的正确姿势

Pandas 基础速查表

学习Python数据分析的正确姿势

Pandas 高阶速查表

学习用 Matplotlib 绘制可视化图

Matplotlib 是绘制基础可视化图的 Python 支持库。数据分析师至少要掌握如何使用Matplotlib 绘制最常用的可视图,包括折线图、条形图、散点图与箱型图等。

Seaborn 这个可视化支持库也很好用,它基于 Matplotlib 开发,并与 Pandas 高度集成。在初级阶段,建议先掌握 Matplotlib 的基础绘图法,不用过多了解 Seaborn。

本文作者曾写过下列四个教程介绍如何使用 Matplotlib 绘制可视图。

第一部分:Matplotlib 基础图形
第二部分:如何设置图形样式与颜色、线型、标签、色图等
第三部分:注解、坐标轴、图形比率、坐标系
第四部分:绘制复杂可视图

学完这四个教程后,就算是掌握了 Matplotlib 的基本操作。

友情提示,如今不用花太多时间学习 Matplotlib,很多公司现在都采用 Tableau 或 Qlik 这样的 BI 工具生成交互式可视化图。

呆鸟云:也可以参考 DataCamp 的 Matplotlib 速查表,点击链接可以下载呆鸟为大家精心制作的高清中文版哦!

学习Python数据分析的正确姿势

Matplotlib 速查表

学习Python数据分析的正确姿势

Seaborn 速查表

左手 SQL,右手 Python

现在,公司的数据都存在数据库里,因此,数据分析师要学会用 SQL 从数据库里提取数据,然后再在 Jupyter Notebook 里分析数据。

SQL 与 Pandas 是数据分析师的两大利器。有些简单的数据分析可以直接用 SQL 处理,有些用 Pandas 则更高效。我个人喜欢用 SQL 提取数据,然后用 Pandas 分析数据。

现在很多公司都采用 Mode Analytics 与 Databricks 这样的分析平台,可以轻松应用 Python 与 SQL 进行数据分析。

总之,数据分析师要了解如何高效使用 SQL 与 Python。推荐用 SQLite 学习 SQL 基础知识,上手简单,无需复杂配置。安装 SQLite,找个示例 CSV 文件,然后学习如何使用 SQL 与 Python 分析数据。这里有个帖子,可以指导你如何使用 Python 与 SQL 进行数据分析。Programming with Databases in Python using SQLite。

在浏览这篇帖子前,最好先了解一下 SQL 基础知识,Mode Analytics 有一篇教程非常不错:SQL 简介。掌握 SQL 是每位数据分析师必备的基本技能,只有掌握了 SQL 才能高效地从数据库里提取数据。

学习应用 Python 实践基础统计学理论

大多数野心勃勃的数据分析师上来就学习机器学习,却对统计学的基础知识不屑一顾。

千万别犯这种低级错误,统计学才是数据分析的支柱。另一方面,也不能只学习统计学的理论知识,却忽略了统计学实战操作。

所谓统计学实战,这里指的是,数据分析师应该懂得统计学能解决哪些问题,如何应用统计学处理各种难题。

以下是数据分析师必须精通的一些基本统计学概念:

采样、频率分布、均值、中位数、众数、变异性度量、概率基础知识、显著性测试,标准差,z-score,置信区间与假设检验(包括 A/B 测试)。

《面向数据科学家的实用统计学》这本书非常不错,可惜这本书里的代码示例都是用 R 语言写的,Python 爱好者可能会有些许不爽,建议 Python 数据分析师读这本书前四章就可以了。读了前四章就可以了解上面所说的基础统计学概念。这本书后面几章主要是介绍机器学习,下一段会对这方面内容进行详述。

学习Python数据分析的正确姿势

《面向数据科学家的实用统计学》

还有不少人推荐《统计思维:程序员数学之概率统计(第2版)》这本书,这本书确实是用 Python 学统计学,但该书作者用的不是 StatsModels 这样的标准 Python 支持库介绍统计学,而是用自己写的函数,不具备通用性,因此,不太推荐本书。

学习Python数据分析的正确姿势

统计思维

学完统计学的基础知识后,建议大家尝试学着用 Python 实现这些基本概念。StatsModels 这个 Python 支持库现在非常流行,其官网上的教程也不错,值得一看。

此外,还推荐 Gaël Varoquaux[1] 的****,该教程介绍了如何使用 Python 与 StatsModels 实现推断性与探索性统计分析。

用 Scikit-Learn 实现机器学习

Scikit-Learn 是 Python 生态圈里最流行的机器学习库。对于大部分数据分析师来说,第一步目标就是学习如何使用 Scikit-Learn 执行最常见的机器学习算法。

首先,学习 Coursera 上吴恩达的机器学习教程,只要看第 1、2、3、6、7、8 周的视频就可以了。这里跳过了关于神经网络的内容,因为作为初学者来说,只需要关注最常用的机器学习技能就足够了。

学会了这些内容以后,接下来继续学习《机器学习实战:基于Scikit-Learn和TensorFlow 》。初学者只要阅读这本书的第一部分就可以了,大概有 300 多页。这是市面上介绍实战机器学习最好的一本书。

学习Python数据分析的正确姿势

机器学习实战

呆鸟云:这里推荐 Sean 的译本《Scikit-Learn 与 TensorFlow 机器学习实用指南》

做完这本书里列出的习题以后,就可以学习如何用 Python 实践吴恩达机器学习课程里讲述的理论知识了。

结论

最后一步是用上述各步列出的知识动手实战一个数据科学项目。建议大家找一套自己感兴趣的数据集,提出一些有意思的业务问题,然后通过分析解答这些问题。但是,记住千万别再搞泰坦尼克鸢尾花这样的机器学习项目了,都臭了大街了。这个帖子里列出了 19 个查找数据科学项目免费数据集的网站,大家可以看下。

还有一个大家可能喜欢的数据科学实战项目,这就是预测股市价格。通过雅虎金融可以实时抓取股票数据,把这些数据存到 SQL 数据库里,然后用机器学习预测股票价格。

如果你是从其他行业或职能转行做数据分析的,建议在工作中一定要充分利用自己已有的业务知识。

学习Python数据分析的正确姿势

学习Python数据分析的正确姿势

End

学习Python数据分析的正确姿势

往期精彩:

本号精华合集(二)

11月的碎碎念

作为程序员,在挑选 iPad 时我在想什么?

学习Python数据分析的正确姿势