译者序

译者序

不知不觉,结识Python已有七个年头,掰着指头数完,不禁惊恐于光阴之易逝,叹人生之不能加长,更兼想起宇宙之无穷,免不了慨叹生命之短暂而微茫,此时更觉Python之哲学观“人生短暂,我用Python”虽朴实无华,却更楚楚动人。七年前,国内Python书籍寥寥无几,七年后已能排满一个小书架。见Python这样的好东西为世人所接受,颇感欣慰。Python在Web开发、网络编程、自然语言处理、图像处理以及本书所讲的数据分析等诸多领域都有着广泛的应用。Python简单易学,新手见它大可不必发怵;Python拥有丰富的库,开发者不必重造轮子;Python有极强的包容性,可整合C、C++等语言的代码,弥补其性能上的不足;再加上近年来计算机效率的提高,Python的优势越发凸显出来。即使是其他领域的从业者,为满足业务的需要,若在性能上没有追求极致的嗜好,Python很可能是最适合的编程语言,对于数据分析亦是如此。

互联网的迅猛发展带来了数据量的指数级增长,而数据增长速度仍在加快。无论从规模上还是结构上讲,数据分析工作面对的对象较以往发生了质的改变。各行各业所产生的数据,在过去也许只是被视为副产品,如今也有可能显露它们的价值。但数据规模之大,结构之复杂,纯人工难以胜任,求诸工具是必然。为了满足这一需求,Python数据分析的羽翼随之不停地生长,如今已丰满有力。NumPy、pandas和matplotlib等库提供了矩阵运算、数据读写和处理及绘图等一揽子解决方案。就拿数据可视化来讲,3D、等值线图、地区分布图和玫瑰图等统统不在话下,用IPython Notebook分析完数据,可直接生成各种图表,你甚至还可以拿它来做汇报,连PPT都省了。

诚如作者在书中所言,用Python做数据分析根本不用羡慕其他语言的数据分析工具集。然而,好工具摆在那里,但没有明白人教也是白搭,不过,你手中所托之书刚好能充当这方面的良师益友。它不仅能带你一览数据分析全貌,更力求一招一式地教会你数据分析的十八般武艺。本书示例颇丰,在学习过程中,若能打开IPython Notebook,一点点跟着作者比划,想必新人也能出师,而有一定水平的开发者则可将其作为案头常备的参考书,以便节省不少查阅文档的时间。本书最后,作者举了三个实例,以加深读者对数据分析全过程的理解。第一个例子,用数据分析方法探索海洋对气候的影响,你也许能从中得出足以令当年地理老师心服口服的结论。第二个例子讲解了地区分布图的制作,你会发现原来我们还可以在Python环境中使用JavaScript!第三个例子则是用机器学习方法解决经典的图像识别问题。说了这么多,你是不是像我一样觉得这本书很有趣?在翻译本书的过程中,我安装了Anaconda,从此迷上了IPython Notebook的交互性和直观生动,想必你也会为之所动。

经冬历春,译文乃成,其中半数章节的第一稿是在寒假期间完成的。在家那段时间,有时只有我跟宝宝在屋里,我很想哄她开心,可为了保证进度,实在脱不开身。她要是哭,我就敲敲桌子,抑或是招招手,她见还有人在就不哭了,可怜的娃。岳父岳母一家人帮着妻子照看孩子不辞辛苦。我在翻译时,他们还会悄悄端过一杯茶来。地脏了,他们就轻轻把地拖了,生怕打扰我。到了饭点,岳母又会张罗出一桌可口的饭菜,如此种种,甚是难忘。没有他们,我哪有闲心码字。

感谢作者Fabio Nelli给我们带来了一顿数据分析的饕餮大餐。感谢图灵公司的朱巍编辑等诸位朋友,本书中文版的顺利出版离不开你们幕后的辛勤付出。此外,邵有生阅读了第1章和第2章译稿,范明武阅读了第3章,研究生同学黄毅阅读了第7章。他们发现了几处错误,并提出了很多非常有价值的修改意见,在此对他们表示诚挚的谢意。感谢在翻译过程中给予我鼓励、支持和帮助的诸位老师、同事和朋友,他们是路本福、都帮森、蔡波、蔡颖、陈健锁、韩旭、李玲玲、秦敏、王海霞、辛欣和王晶,我曾向他们中的几位请教过某些专业问题。感谢我初中时代的地理老师朱怡峰老先生,他激发了我对地理学科的兴趣,以至于多少年后,我在翻译本书第9章气象数据分析时会感到趣味盎然。最后感谢我的父亲和姐姐,他们以我翻译本书为荣。

由于本人学识有限,且时间仓促,书中翻译错误、不当和疏漏之处在所难免,还望读者批评指正。

杜春晓

2016年4月26日

目录

  • 版权声明
  • 致谢
  • 译者序
  • 第 1 章 数据分析简介
  • 第 2 章 Python世界简介
  • 第 3 章 NumPy库
  • 第 4 章 pandas库简介
  • 第 5 章 pandas:数据读写
  • 第 6 章 深入pandas:数据处理
  • 第 7 章 用matplotlib实现数据可视化
  • 第 8 章 用scikit-learn库实现机器学习
  • 第 9 章 数据分析实例——气象数据
  • 第 10 章 IPython Notebook内嵌JavaScript库D3
  • 第 11 章 识别手写体数字
  • 附录 A 用LaTeX编写数学表达式
  • 附录 B 开放数据源