基本信息
- 原书名:Python Data Analysis Cookbook
- 作者: (印)伊凡·伊德里斯(Ivan Idris)
- 译者: 冯博 严嘉阳
- 丛书名: 数据分析与决策技术丛书
- 出版社:机械工业出版社
- ISBN:9787111576402
- 上架时间:2017-8-15
- 出版日期:2017 年8月
- 开本:16开
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > Python

内容简介
目录
前言
第1章 为可重复的数据分析奠定基础 1
1.1 简介 1
1.2 安装Anaconda 2
1.3 安装数据科学工具包 3
1.4 用virtualenv和virtualenvwrapper创建Python虚拟环境 5
1.5 使用Docker镜像沙盒化Python应用 6
1.6 在IPython Notebook中记录软件包的版本和历史 8
1.7 配置IPython 11
1.8 学习为鲁棒性错误校验记录日志 13
1.9 为你的代码写单元测试 16
1.10 配置pandas 18
1.11 配置matplotlib 20
1.12 为随机数生成器和NumPy打印选项设置种子 23
1.13 使报告、代码风格和数据访问标准化 24
第2章 创建美观的数据可视化 28
2.1 简介 28
2.2 图形化安斯库姆四重奏 28
2.3 选择Seaborn的调色板 31
译者序
正式使用Python参与一个Web开发项目之后,译者就被Python语言本身之优美、框架之强大所吸引。随着不断了解,发现Python在数据分析领域是当仁不让的翘楚。虽然一些语言也偏向于数据分析,例如R语言,但是Python却和工程实践结合得更紧密,一门语言就可以让读者开发包含强大数据分析的后台Server。
本书是《Python Data Analysis》的后续,如果说前一本书更偏向于介绍各种工具库和数据分析技术的使用,例如用于科学计算的库SciPy/NumPy,用于操作数据的库pandas,用于机器学习的库scikit-learn,用于绘制图形的库matplotlib,那么本书则更侧重于将这些技术应用于实际领域,解决实际的问题。作者Ivan Idris曾是Java和数据库应用开发者,后专注于Python和数据分析领域,致力于编写干净、可测试的代码。他还是《Python Machine Learning By Example》《NumPy Cookbook》等书的作者,在工程实践和书籍撰写方面都非常有经验。虽然译者预先已有心理准备,但是当真正开始翻译时,才被作者领域涉及之多、知识之渊博所折服。读者不但能从本书中找到Python用于数据分析的典型案例,例如信号处理、聚类等,甚至还能找到财务数据用于股票市场的分析。可以说这本书涵盖了Python在数据分析领域的方方面面。不但如此,作者还创建了一个包含各种工具的Docker镜像,方便读者使用。诚然,这也给翻译带来了不小的难度。有些领域过于专业,虽然查阅了大量资料,但限于译者本身水平所限,可能仍然存在错误,希望读者不吝指教。
最后,这是一本Cookbook(食谱式手册)成为我翻译本书的另一个原因。各种Cookbook一直是译者学习各种技术的参考书,一方面它更偏向于实践,另一方面它更直接,包含各种实例,本书也是如此。大量代码片段和图例一定能帮助读者快速掌握用Python进行数据分析的各种技术。
前言
——匿名
本书是《Python Data Analysis》的后续。那么在《Python Data Analysis》已经足够优秀(我愿意这么认为)的情况下,这本书有哪些新的内容吗?本书是针对那些有一定经验的Python程序员写的。一年时间过去了,因此,我们将使用在《Python Data Analysis》中没有用到的一些更新版本的软件和软件库。另外,经过深入反思和调研,我做出了以下的总结:
为了减轻自己的负担,同时提高代码的可重复使用率,我需要一个工具箱,我将这个工具箱命名为dautil并将它发布到了Pypi上(可以通过pip/easy_install安装)。
通过反省,我深信需要简化获取和安装所需要的软件的过程,因此我通过DockerHub发布了一个包含了我们需要用到的软件的Docker容器(pydacbk),在本书的第1章和线上章节中你将了解更多关于如何安装的细节。这个Docker容器还是不够理想,因为它的体积已经相当大,所以我需要做出一些艰难的决定。因为这个容器并不是本书的一部分,所以如果你有任何问题可以直接与我联系,但是请记住我不会对镜像做很大的修改。
本书会使用IPython Notebook,这个工具已经成为数据分析时的标准工具。在线上章节以及我写的其他书中,我已经给出了一些和IPython Notebook相关的建议。
除了极少数案例外,本书中我主要使用的是Python 3,因为2020年后官方将不再支持Python 2。
为什么需要这本书
有人会说你并不需要书籍,你只需要去做一个感兴趣的项目,然后在做项目的同时就会搞明白那些东西。但是尽管接触到大量的资源,这个过程可能还是会令你感到沮丧。打个比方,如果想烹调一碗美味的汤,你可以去向朋友和家人寻求帮助,上网搜索或者收看烹饪节目,但是朋友和家人不会一直在你身边,网络上的内容也是良莠不齐。以我的浅见,出版社、审稿人和作者都在这本书上花费了大量的时间和精力,如果你不能从中有所收获我会感到很诧异。
数据分析、数据科学、大数据——有什么了不起的
你应该看过将数据科学用数学/统计学、计算机科学以及专业领域的知识进行描述的维恩图(Venn diagram)。数据分析是永恒的,它出现在数据科学之前,甚至是计算机科学之前。你可以用笔和纸或者更先进的便携计算器进行数据分析。
数据分析体现在很多方面,比如说以做出决策或提出新的假设和问题为目的进行数据分析。数据科学以及大数据的热潮、高待遇以及经济回报让我想起了当数据存储和商业智能还是时髦词的年代。商业智能和数据存储的终极目标是构建应用于管理的可视化图表。这涉及很多政治和组织方面的利益,但是从技术的角度来看,这主要还是和数据库相关。数据科学则不是以数据库为中心,而是很大程度上依赖于机器学习。由于数据的量在不断地变多,机器学习变得越来越不可或缺。数据大量增长的背后是人口的快速增长以及新技术的层出不穷,比如说社交媒体和移动设备的出现。事实上,数据增长可能是我们唯一可以肯定的将一直持续的趋势。构建可视化图表和应用机器学习的区别就类似于搜索引擎的演进。
搜索引擎(如果可以这么称呼)最初只是手动创建的组织良好的链接集合。而最终,纯自动的方式取代了前者。当下,更多的数据将会被创建(而不是被销毁),我们可以预见自动化数据分析领域的增长。
Python数据分析的简要历程
各个Python软件库的历史十分有趣,但我不是一个历史学家,所以下面的记录主要从我的视角来写:
1989年:Guido Van Rossum在荷兰的CWI实现了Python的第一个版本,当时是作为一个圣诞节的“兴趣”项目。
1995年:Jim Hugunin创建了Numeric——Numpy的前身。
1999年:Pearu Peterson写了f2py作为连接Fortran和Python的桥梁。
2000年:Python 2.0发布。
2001年:SciPy库发布,同期创建的还有与Numeric竞争的库Numarray。Fernando Perez发布了IPython,它最初是以“午后黑客”(afternoon hack)的名义发布的。NLTK(自然语言工具包)发布且用于研究项目。