译者序
2014年我刚走上工作岗位时,Python数据分析技术开始在中国流行,越来越多的人开始学习和使用这门技术。当时,Python的主流版本是2.7,3.4版本刚刚发布,但认可度和流行度并不高。很幸运,我阅读了本书的第1版。第1版基于Python 2.7,介绍了大量的实用技术,包括pandas、NumPy的使用等。在实践中,书中的技术被我大量应用,帮助我更快更好地处理了各类数据。
时过境迁,从本书英文版第1版2012年出版至今,已经过去了6年。这6年中,Python的主流版本从2.7升级到了3.6。无论是否情愿,大部分Pythoner都不得不学会适应新版本;而pandas则从0.1.0版本迭代到如今的0.22.0版本。版本号的持续增加意味着新技术、新特性的不断丰富。举例来说,将带有多层索引的数据透视表写入Excel在2015年之前是无法使用pandas完成的,在0.17版本后该功能被加入。因此,本书的第一版内容已经略显落后。
2017年10月下旬,本书作者Wes McKinney先生更新了本书的第2版。在第2版中,他将Python版本更新到3.6,介绍了pandas的一些新接口和功能,并新增了大量现实世界的数据分析实例,以确保本书的可实践性。我在2017年11月18日接到出版社的翻译邀请后便开始了翻译工作。McKinney先生的写作风格朴实、形象,因而我的翻译过程较为顺畅,但书中部分口语化的叙述也因为中英文表达方式的差异而增加了意译的难度。
在本书翻译过程中,我得到了很多帮助。首先要感谢华章公司的王春华编辑和冯秀泳编辑,他们在翻译过程中给了我耐心指导。在审稿时,来自国内Python圈的朋友们对本书进行了仔细而全面的审核,他们是网易数据工程师马喆诚、早稻田大学研究生梁垿、大疆工程师王波。感谢他们对本书的付梓而做出的贡献。此外,我还要感谢我的女朋友易慧娟,感谢你在生活中对我的各种好,我爱你!
为了让国内读者在第一时间读到这本畅销国外技术著作,出版社和我都加快了工作进度,但时间紧、任务重,再加之本人水平有限,翻译工作中难免会出现一些失误。欢迎读者将阅读过程中发现的问题发送至我的邮箱(xujingyi46@163.com)。
本书英文版的副书名是“Data Wrangling with Pandas, NumPy, and IPython”,其中Wrangling是一个很难直译的词汇,它的原意是争执、争论,但在书中它描述的是将数据进行规整、处理的意思。希望读者读完本书后,可以使用好pandas、NumPy和IPython这些工具,更好地完成数据处理、分析的学习和工作。Enjoy it!
徐敬一
2018年5月于中国工商银行合肥后台中心