数据分析入门极简书单
本文授权转载自麻瓜编程
如果你找一个熟悉的朋友给你推荐书单,他会倾向于越短越好,因为他想把他知道的最好的推荐给你,让你少花时间在不重要的事情上。
但如果你在网上看到一个书单,往往会发现都很长长长长长,长到你觉得别人都能日读40万字而自己是个天天刷朋友圈的懒癌患者。别担心,告诉你个小秘密,列书单的人很可能自己也没读完书单里的书哦。
所以我想做的是像你的朋友一样,推荐一份数据分析入门的极简书单给你,并且帮你深度评测,告诉你什么是最值得读的、不得不读的。
你不是吃个火锅都要看评测吗?吃火锅也就花个两小时吧,但是读一本书,很可能要花上一个月时间呀,这么大的时间成本,总应该更慎重的做出决定吧。
以下评测会从数据分析岗位必备的三个技能出发:
SQL
统计学
Python 数据分析
最终获得的结果是相应的3本最推荐的入门书。
一提到 SQL 入门,呼声最高的是这3本书:
《MySQL必知必会》- Ben Forta[1]
《SQL必知必会》- Ben Forta[2]
《SQL基础教程》- Mick[3]
《MySQL必知必会》还是《SQL必知必会》傻傻分不清楚?
首先要搞清楚的一件事,《MySQL必知必会》和《SQL必知必会》是同一个作者 Ben Forta ,《SQL必知必会》的前20章所有内容在《MySQL必知必会》里都有,并且多了10章针对 MySQL 的内容。
这是作者在前言中的解释:
考虑到在中国 MySQL 还是占主流,评测时选择了后出版的、内容更丰富的《MySQL必知必会》。
(出版社喜欢把这两本捆绑在一起卖,真的没必要都买,80%内容都雷同的)
知识结构 PK
先放上两张我悉心整理的全书思维导图,一眼就可以看出《MySQL必知必会》和《SQL基础教程》的不同:
《MySQL必知必会》思维导图[4]
《SQL基础教程》思维导图[5]
《MySQL必知必会》这本书讲解的非常的全面。
光是最常用的 SELECT语句就花了12章来细细讲解。并且整本读下来会感觉到逻辑是非常清晰的,时刻知道自己学的是知识体系上的哪一个分支。
而《SQL基础教程》的讲述结构并不是按照知识的逻辑,而是按照使用的逻辑。
所以你会看到在思维导图上会出现同一章的不同节被拆开放到了不同分支的情况,第三章第一节还在讲聚合函数,到了第二节就去讲 SELECT 语句的 GROUP BY 子句了,因为在作者看来这两节都是用来解决「聚合与排序」这个使用场景的问题,所以就被归纳到了一起。
和《MySQL必知必会》相比其实是少了很多知识点的,《MySQL必知必会》用了4章去讲解的 WHERE 子句,在《SQL基础教程》中就只有1小节带过。
讲述方式 PK
这里对比一下最基本的 SELECT 语句这个知识点的讲述方式:
《MySQL必知必会》的讲述方式几乎没什么废话,直接上案例,需要输入什么代码,会输出什么结果,都用很清晰的方式呈现出来。对于一些细枝末节的细节提示和说明,都采用灰框的方式附在案例后面逐一列出。
《SQL基础教程》使用了双色印刷,配了表格图片去帮助读者理解。在案例代码之前,还会多给一个基本语法的示例,讲解同一个知识点的篇幅会更长,甚至会有点啰嗦。
对比来看,《MySQL必知必会》的简明的讲述方式更适合喜欢简单直接的理工直男,《SQL基础教程》更适合喜欢详尽说明的文科生。
对学习过程的考虑 PK
《MySQL必知必会》在每章的开始会有一个一句话简介,每章的末尾会有一小段的小结,和整体的行文风格一样,都是非常简明扼要的,也方便查阅。
《SQL基础教程》在每章和每节开始之前会有一个详尽的说明和学习重点清单,在每章结束时会有几道练习题。
SQL 入门推荐书:《MySQL必知必会》
如果你需要在工作中用到 SQL,还是更推荐《MySQL必知必会》,这本书的知识点覆盖是更全面的,简明扼要的风格也方便随时查阅。
如果你缺乏理工科背景、抽象思维比较弱、注意力已经被碎片化阅读摧毁,可以先阅读《SQL基础教程》,更便于你理解。能上手了之后,再去读《MySQL必知必会》补全知识体系。
作为统计学的入门,我们以这两本书来进行深入对比。
《深入浅出统计学》- Dawn Griffiths[6]
《商务与经济统计学》-詹姆斯·麦克拉夫[7]
统计学的教材可以说是非常多了,并且相似度很高,在这里选取人大出版的这本经典之作《商务与经济统计学》。
有些 900 多页的教材属于进阶学习,不算是入门书了。
另外一些社科鸡汤类的书也没有放进来,在我看来,人是无法以绕开知识本身的方式学到知识的。
知识结构 PK
还是先放两张全书思维导图
《深入浅出统计学》思维导图[8]
《商务与经济统计学》思维导图[9]
《深入浅出统计学》涵盖了基本的统计学概念,默认读者是零基础。
甚至连平均数、中位数这种小学六年级教材中的基础知识都会细细讲解。一般来说,一本书越是照顾零基础,书的知识点深度就会越低,这本也不例外。包括比较重点的描述统计、假设验证都停留在简单例子的步骤上。
当然,这种方式的好处是激发读者兴趣,如果一本书是用漫画或者小说去讲解统计学,那知识点深度就更低了。
《商务与经济统计学》的结构就是按照知识的逻辑来进行讲述的。
知识难度会循序渐进的去递进,先让你理解最简单的情景,再逐渐去增加情景的复杂度,比如从单样本到多样本,从简单线性回归到多元线性回归。并且所有案例都是基于真实的数据去展开的,这也让知识点的覆盖更加全面。
讲述方式 PK
这里用统计学里一个经典的知识点「正态分布」来对比两本书讲述方式的不同:
《深入浅出统计学》用生活中的小事作为案例,一个女生找高个男朋友的例子去引出正态分布的概念,用了很多的插图去辅助读者理解,并且每个概念后面会有一个「世上没有傻问题」的栏目去整理出所有的常见问题和回答,解答初学者心中的疑问。
我还没见过看不懂《深入浅出》的人呢,这个难度高一学生也能看懂的。有些地方甚至会感觉太简单而读不下去。
《商务与经济统计学》不像一般的教材会写大段的概念和定义,而是用了大量的例子帮助读者真正理解,讲正态分布这一个概念就用了 9 个例子。并且这些例子都是用的真实的数据和贴近实际工作的场景。
对学习过程的考虑 PK
《深入浅出统计学》的「动动脑」栏目通过问题促使读者思考。「动动笔」栏目通过几道练习题,让你动手练习,在下一页有「动动笔解答」。「要点」栏目概括了这一小节的重点内容。
《商务与经济统计学》每章有一个章末小结,包括这几点:
关键术语
关键符号
关键知识点
关键公式
所有总结要点都以要点或表格的方式简练概括。 另外还有本章相应的练习题。
统计学入门推荐书:《商务与经济统计学》
如果你是理工科背景、或者在本科学习过高等数学,可以选择《商务与经济统计学》,其中大量的实际案例能让你更容易补全知识体系、上手实际应用。
如果你的数学基础较弱,可以选择《深入浅出统计学》,跟着练一遍,这是人人都能看懂的。
数据分析入门的经典书籍,我们以这两本口碑最好的来进行对比:
《利用Python进行数据分析第一版》- Wes McKinney[10]
《利用Python进行数据分析第二版》- Wes McKinney[11]
《Python数据科学手册》- Jake VanderPlas[12]
利用 Python 进行数据分析第一版还是第二版?
很多人在推荐这本书时会放第一版的封面图,在这里旗帜鲜明的反对!
第一版和第二版隔了整整 6 年时间;第一版用的是 Python2.7,第二版用的是 Python3.6;第一版用的是 pandas 0.1.0 版本,第二版用的是 pandas 0.22.0 版本。技术变化这么快,当然要选第二版。
而且两个版本很好区分的,第二版的耗子头是朝左的,而不是像第一版那样朝右的。读者朋友们,请认清朝左的耗子头啊!
知识结构 PK
还是先放两张全书思维导图
《利用Python进行数据分析 第二版》思维导图[13]
《Python数据科学手册》思维导图[14]
《利用Python进行数据分析》这本书的层级结构设计的非常漂亮。
我特地用了不同的颜色去体现了他的层次。
大家都知道,这本书的作者 Wes McKinney 就是 pandas 库的主要作者,但这本书的结构并不是围绕着 pandas 库而展开的——不然就直接去看 pandas 文档好了。这本书的结构超越了某个库或者某个语言,最核心的部分是以数据分析的工作流展开的,从数据载入、数据清洗、数据规整到数据可视化、数据建模。这种结构对于不熟悉数据分析工作流的读者是非常有帮助的。
并且这本书的第 2 章、第 3 章包含了数据分析会用到的 Python 基础语法,对零基础的读者挺友好的。
《Python数据科学手册》这本书的结构非常扁平,就 5 章。
第 1 章着重介绍了作者偏爱的 IPython 的各种用法,然后 NumPy, pandas, matplotlib 各一章,第 5 章是机器学习。整体是以知识逻辑去组织的。
讲述方式 PK
这里选取数据清洗工作中的一个关键知识点「过滤缺失值」来进行两本书的对比。
《利用Python进行数据分析》在讲解「过滤缺失值」时会选取最好用的一种方法进行细致讲解,然后说明了如何剔除含有缺失值的行、列。以及个性化的配置。
《Python数据科学手册》在讲解「过滤缺失值」时也使用了 dropna() 方法,代码部分几乎和《利用Python进行数据分析》一致,文字叙述上对使用场景的叙述会略多一些。
对学习过程的考虑 PK
《利用Python进行数据分析》有比较简略的每章前言和每章小节,比较有特色的是篇幅中会穿插 3 类提示,分别是:提示或建议、一般性说明、警告。另外会有大量表格整理有用的方法。没有练习题。
《Python数据科学手册》把上章小结和本章前言合并在一起讲。另外每章末尾有一个参考资料合集。也没有练习题。
数据分析入门推荐书:《利用 Python 进行数据分析第二版》
《利用Python进行数据分析 第二版》的知识结构更胜一筹。
这本书的作者 Wes McKinney 就是 pandas 库的主要作者。全书最核心的部分是以数据分析的工作流展开的,从数据载入、数据清洗、数据规整到数据可视化、数据建模。这种结构对于不熟悉数据分析工作流的读者是非常有帮助的。
下次,如果你有朋友问你,学数据分析应该看哪本书?就直接把这篇测评发给他就可以啦。
References
[1]
《MySQL必知必会》- Ben Forta: https://link.zhihu.com/?target=https%3A//book.douban.com/subject/3354490/
[2]
《SQL必知必会》- Ben Forta: https://book.douban.com/subject/24250054/
[3]
《SQL基础教程》- Mick: https://book.douban.com/subject/24841239/
[4]
《MySQL必知必会》思维导图: https://video.mugglecode.com/MySQLcrash.png
[5]
《SQL基础教程》思维导图: https://video.mugglecode.com/SQLmick.png
[6]
《深入浅出统计学》- Dawn Griffiths: https://link.zhihu.com/?target=http%3A//book.douban.com/subject/7056708/
[7]
《商务与经济统计学》-詹姆斯·麦克拉夫: https://book.douban.com/subject/26410924/
[8]
《深入浅出统计学》思维导图: https://video.mugglecode.com/HeadFirstStatistics.png
[9]
《商务与经济统计学》思维导图: https://video.mugglecode.com/StatisticsForBE.png
[10]
《利用Python进行数据分析第一版》- Wes McKinney: https://link.zhihu.com/?target=https%3A//book.douban.com/subject/25779298/
[11]
《利用Python进行数据分析第二版》- Wes McKinney: https://link.zhihu.com/?target=https%3A//book.douban.com/subject/25779298/
[12]
《Python数据科学手册》- Jake VanderPlas: https://book.douban.com/subject/27667378/
[13]
《利用Python进行数据分析 第二版》思维导图: https://video.mugglecode.com/PythonForDA2nd.png
[14]
《Python数据科学手册》思维导图: https://video.mugglecode.com/PDS.png
数据分析入门极简书单相关推荐
- 深度学习入门极简教程(二)
深度学习入门极简教程(二) 摘要: 现在的人工智能,大致就是用"硅基大脑"模拟或重现"碳基大脑的过程".那么,在未来会不会出现"碳硅合一"的 ...
- 数据分析入门——推荐基础书以及实用网站
数据分析入门: 一开始肯定是数学基础巩固: 线性代数.统计论等.参考书成千上百,最重要还是理解透! 二就是各种软件的熟悉利用:EXCEL SPSS SAS 等,这是我桌面常用到的软件: 三便是进阶版, ...
- NLP 学习秘笈,从入门到进阶 | 书单
自然语言处理(NLP)作为人工智能研究的核心领域之一,长久以来都受到广泛关注.微软全球执行副总裁沈向洋博士曾表示"懂语言者得天下,人工智能对人类影响最为深刻的就是自然语言方面."现 ...
- Maven入门极简使用教程
Maven入门级别使用 回顾 拦截器 统一异常处理 实现接口的方式. 注解方式.(分享) 如果是ajax请求,会将异常信息发送到客户端的响应中. 复习spring springmvc SS ...
- Pygame游戏入门极简思维导图
你好,我是zhenguo 最近几天总结的Pygame游戏入门的思维导图,分享需要的诸位伙伴:
- WebFlux入门极简
前言 之前讲述了国产微服务网关Soul底层用了 Webflux 技术,本文将将详细剖析其底层的技术细节. 本文知识点架构: 一.什么是WebFlux? 我们从Spring的官网拉下一点点就可以看到介绍 ...
- 拥抱Node.js 8.0,N-API入门极简例子
本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. N-API简介 Node.js 8.0 在2017年6月份发布, ...
- 拥抱 Node.js 8.0,N-API 入门极简例子
本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. N-API简介 Node.js 8.0 在2017年6月份发布, ...
- Qt入门极简教程(二)
<QMainWindow_菜单栏和工具栏> QMainWindow:菜单栏(menu bar).多个工具栏(tool bars).多个铆接部件(浮动窗口dock widgets).中心部件 ...
最新文章
- 使用PL/SQL Developer远程连接到oracle11g
- UA MATH571B 2K析因设计 SAS实践 分数2k析因设计
- pythonurllib微博登录怎么删_Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据...
- POJ 1182 食物链 [并查集 带权并查集 开拓思路]
- mybatis学习(27):获取自增id方式一(在mapper中insert配置节点的属性)
- python的继承用法_python中继承有什么用法?python继承的用法详解
- 大数据与大量数据处理_我们如何处理和使用如此大量的数据?
- python语法参数_python默认参数语法
- 阿里粗排技术体系与最新进展
- spark rdd读取文件
- 关于概率性事件的产品性能和客户体验讨论
- Servlet教程第6讲笔记
- PHP 根据 搜索条件/勾选数据 分批次 处理数据
- bootstrap 半透明背景_【小技巧】微信 QQ 半透明主题壁纸设置方法
- nodejs爬虫抓取搜狗微信文章详解
- Apache ab测试解析
- 台州 OJ 3847 Mowing the Lawn 线性DP 单调队列
- 含泪整理最优质时间轴网页特效素材,你想要的这里都有
- ‘\t‘和“\t“的区别
- 第九周项目六--三色球问题
热门文章
- ELK实时日志分析平台环境部署--完整记录
- Nginx配置报错unknown directive echo的解决
- Mysql用navicat操作导出查询结果
- java实例变量可以被覆盖吗_Java继承覆盖实例变量
- PHP中MySQL操作相关方法
- httpinvoker远程调用超时_RPC远程过程调用协议工作原理分析
- hca卡 linux 查看_将Linux装入U盘随身带走!Awesome!
- shell 获取 mysql 行数_一个Shell小脚本精准统计Mysql每张表的行数实现
- springboot @RequestBody 接收字符串
- 【微信小程序】wx:for