送书|如果可以,我想给这本书打十星!
文末查看送书规则
这个标题可不是杜撰,来自豆瓣一位 ID 为「戒酒鹿」的读者的评论。可以看出,这位读者对所评之书的喜爱之情满满溢出:
这是一本想给它打十星的书籍!目前作为Python(数据分析)进阶的最佳,和Python初阶的《Python编程:从入门到实践》,一起位列仙班! 知识点前后衔接非常出色,而且就Python而言,其本质作为一门编程语言,是一般使用者手上的工具。书里能够很好地告诉你,为什么前面的工具属性不够,因此需要学习新的知识点和特色,也会进行不同知识点的对比。大雅必然大俗,优秀的书籍和作者无一不是如此,深入浅出。 书中最末章--机器学习部分暂时没有能力涉足,强行只会如坠雾中。万事不可线性,后期具备一定基础后再来补充学习。
当然,喜欢这本书的读者不是一两位,这本书在豆瓣上的评分如下:
对,今天这本书的主角就是《Python数据科学手册》。
这本书为啥好?以下完全来自读者评论:
-
@Mihai:写得很详细,代码很全,图也很多 -
@霍乱:英文版在 GitHub 完全开源,所有样例可以直接用 Notebook 执行 -
@风行水上:跟《利用Python进行数据分析》相比,这本书更精粹,更全 -
@戒酒鹿:Python(数据分析)进阶最佳,深入浅出,大雅又能大俗 -
@W.P.K2:Numpy、Pandas、Matplotlib、机器学习,数据分析该有的都有 @小盼:相较于《利用Python进行数据分析》这本书更侧重原理和实践结合
总结一下,书写得好,深入浅出,通俗易懂;内容该有的都有,配套资源各种齐全;网上还有开源原版书,配备高清彩图;作者是大牛,爱分享,关注作者,不时加餐。就是一个字,爽!
其实这本书的译者序和前言中都详细表达了这本书的特色,而网友帮忙整理进一步突出了。译者陶俊杰在译者序里不止介绍这本书的特色,还指出了零基础读者最大的拦路虎是安装环境,而这本书尽可能为你扫清了这个障碍,你不妨详细了解一下。
***
本书主要介绍了 Python 在数据科学领域的基础工具,包括 IPython、Jupyter、NumPy、Pandas、Matplotlib 和 Scikit-Learn。当然,数据科学并非 Python 一家之“言”,Scala、Java、R、Julia 等编程语言在此领域都有各自不同的工具。至于要不要学 Python,我们认为没必要纠结,秉承李小龙的武术哲学即可——Absorb what is useful, discard what is not, and add what is uniquely your own(取其精华,去其糟粕,再加点自己的独创)。Python 的语法简洁直观、易学易用,是表现力最强的编程语言,学会它就可以让计算机跟随思想,快速完成许多有趣的事情。同时,它也是备受欢迎的胶水语言,许多由 Java、C/C++ 语言开发的工具都会提供 Python 接口,如 Spark、H2O、TensorFlow 等。2017 年 3 月 6 日,PyPI(https://pypi.python.org/pypi)网站上的程序包数量就已经达到 10 万,新的程序包还在不断地涌现,数据科学目前是 Python 星球最酷炫的风景之一。如果数据科学问题让你心有挂碍,那么 Python 这根数据科学的蛇杖(Asklēpiós,阿斯克勒庇俄斯之杖,医神手杖,医院的徽章)可以为你指点迷津。
本书书稿已经在 GitHub 上开源(https://github.com/jakevdp/PythonDataScienceHandbook)。由于本书的纸质版是黑白印刷的,因此作者在 GitHub 上建立了开源项目,以 Notebook 形式分享了本书的书稿,让读者可以看到彩色的可视化图。此外,作者也在博客(https:// jakevdp.github.io/PythonDataScienceHandbook/)上发布了 Notebook 的 HTML 页面。除正文的部分内容外,Notebook 中的代码、注释与纸质版相同。由于 Notebook 是类 JSON 数据格式,因此也适合做版本管理,配合 GitHub 修复 bug 比较方便。配合本书同时开源的,还有作者编写的 Python 入门教程 Whirlwind Tour of Python,同样是使用 Notebook 撰写的。Notebook 是 IPython 的 Web 版,目前已经合并到 Jupyter(http://jupyter.org)项目中,是一款适合编程、写作、分享甚至教学(Jupyter/nbgrader)的开源工具,其基本功能将在本书第 1 章中介绍。Notebook 的操作十分简单,在浏览器上即可运行。它不仅可以在浏览器中直接编写代码、生成可视化图,还支持 Markdown 文本格式,能够在网页中快速插入常用的 Web 元素(标题、列表、链接、图像)乃至 Mathjax 数学公式,稍加调整便可以幻灯片形式播放内容,阅读体验一级棒。
看编程书的第一步是搭建开发环境,但这一步往往会吓退不少对编程感兴趣的读者。本书对应的开发环境可以通过三种方式实现。
第一种方式是在线版 Notebook 编程环境,免安装,有浏览器就可以学习编程知识,推荐想快速掌握知识的朋友使用。目前,有许多安装了 Python 编程环境的 Anaconda 发行版的网络平台(PaaS),支持 Jupyter Notebook 编程环境,可以免费使用,如 JupyterHub(https://tmpnb.org)、SageMathCloud(https://cloud.sagemath.com)、微软 Azure(https://notebooks.azure.com)在线编程环境。它们可以在线运行 Notebook 文件,编写调试运行代码,也支持文件的上传、下载、新建、删除,还可以运行 Terminal 工具。另外,基于 GitHub 代码仓库,有 nbviewer(https://nbviewer.jupyter.org)可以查看 GitHub 的 Notebook,还有 binder(http://mybinder.org)支持代码仓库一键部署,都是非常有趣的组合。类似的在线免费 Notebook 编程环境还有很多,特别推荐德国 Yves Hilpisch 博士的 The Python Quants Group 公司开发的 Python Quants Platform(http://tpq.io)。Yves 博士的三本 Python 金融学图书均使用该编程环境,读者可以免费注册使用,其硬件为 CPU Xeon 1231、16GB 内存,能够满足一般的学习与分析需要。Jupyter Notebook 支持许多编程语言(Python、R、Scala、Julia、Haskell、Ruby……),甚至支持 Kotlin(https://github.com/ligee/kotlin-jupyter)、Java 9 的 REPL 新功能 JShell(https://github.com/Bachmann1234/java9_kernel)。
第二种方式是在电脑上安装 Anaconda 发行版。作者在本书前言中介绍了具体的安装方法,安装成功后即可创建 Notebook 编写代码。由于网络问题,建议国内的朋友使用清华大学 TUNA 镜像(https://mirror.tuna.tsinghua.edu.cn/help/anaconda/)下载和更新 Anaconda 集成开发环境。
第三种方式适合了解 Docker(https://www.docker.com/)的朋友——可以直接使用 Jupyter 在 GitHub 上的 Docker 镜像(https://github.com/jupyter/docker-stacks),一键安装,省时省力。里面除了标准 Anaconda 开发环境,还支持 Spark、TensorFlow 的 Notebook 开发环境。
本书作者 Jake VanderPlus(GitHub 账号为 @jakevdp)目前是华盛顿大学 eScience 学院物理科学研究院院长。他既是一位天文学家,也是一位会议演讲达人,活跃于历年的 PyData 会议,尤其擅长 Python 科学计算与数据可视化。Jake 在数据可视化方面颇有建树,创建了 altair、mpld3、JSAnimation 可视化程序库,同时为 NumPy、Scikit-Learn、Scipy、Matplotlib、IPython 等著名 Python 程序库做了大量贡献。我在学习贝叶斯估计时,从他 2014 年的系列博文“Frequentism vs Bayesianism”(频率主义与贝叶斯主义)中获益颇多。
2015 年,听说他要在 O'Reilly 出版《Python 数据科学手册》一书,一直持续关注,正式版终于在 2016 年年底发布。期间,他在 O'Reilly 做了一些 Python 数据科学教程(基于 O'Reilly 的 Atlas 平台创建 Notebook,代码可在线运行),介绍了 Pandas、Seaborn、Matplotlib 等工具。2017 年 2 月,他在 YouTube 发布了一组视频,通过美国西雅图市弗雷蒙特桥上穿行的自行车统计数据,演示了 Python 数据科学编程的最佳实践,包括在 Notebook 中编码、重构、测试、发布程序的技巧,可谓短小精悍。此次有幸能翻译大神的作品,与有荣焉。
***
如果喜欢本文 欢迎 在看丨留言丨分享至朋友圈 三连
公众号回复:送书 ,参与抽奖(共3本) 或者扫一扫下方的二维码回复:送书 即可!
大家如果有什么建议,欢迎扫一扫二维码私聊小编~ 回复:加群 可加入Python技术交流群
「阅读原文」前往图灵社区本书页面可查看试读与购买电子版