文章目录

  • 1.4.1 Windows
  • 1.4.4 安装及更新Python包
  • 1.4.6 集成开发环境和文本编辑器
  • 1.6 快速浏览本书



由于每个人

使用Python的应用场景不一样,设置Python、安装附加包并没有一个统一的解决方案。很多读者并没有一个

适合本书后续内容的Python开发环境,因此我将给出一份

各操作系统上的详细Python安装说明。我推荐

使用免费的Anaconda发布版。在本书写作的时候,Anaconda提供Python 2.7和Python 3.6两个版本,当然未来某个时间版本会变更。本书使用Python 3.6版本,我推荐使用Python 3.6或更高版本。

1.4.1 Windows

在Windows上起步,需要先下载Anaconda安装器(http://anaconda.com/downloads)。我推荐读者按照Anaconda官网下载页上的安装说明进行安装,当读者读至此时安装说明可能会和本书出版时的说明不太一样。
现在,让我们来确定所有设置是否都正确。鼠标右击开始菜单,选择命令行,打开命令行应用(也就是cmd.exe)。通过输入python来启动Python解释器。你应该可以看到符合你下载的Anaconda版本的信息:

C:\Users\wesm>python
 Python 3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul 52016, 11:41:13)
 [MSC v.1900 64 bit (AMD64)] on win32

要退出命令行,按下Ctrl-D(Linux或macOS),按下Ctrl-Z(Windows),或者输入命令exit()后按下回车键。

1.4.4 安装及更新Python包

在本书阅读中,你可能想要安装Anaconda并不包含的额外Python包。通常通过以下命令进行安装:

conda install package_name
如果不奏效你可以使用pip包管理工具进行安装:

pip install package_name
你还可以使用conda update命令来更新包:

conda update package_name
pip还支持通过–upgrade标识升级:

pip install–upgrade package_name
贯穿本书,你会有多次机会使用以上命令。
[插图] 当你能够同时使用conda和pip进行包安装时,请不要尝试使用pip更新conda安装的包,否则可能会导致环境问题。当使用Anaconda或者Miniconda时,最好还是使用conda进行更新。
1.4.5 Python 2和Python 3
Python 3.x的第一个版本发布于2008年年底。它包含了大量与Python 2.x代码不兼容的变更。因为距离Python在1991年第一次发布已经过去了17年,鉴于长期以来的经验教训,创造一个“震撼”的Python 3版本是极好的。
2012年,大部分科学数据分析社区仍然在使用Python 2.x,因为当时很多包并没有完全兼容Python 3。因此,本书的第1版使用了Python 2.7。现如今,用户可以根据喜好在Python 2.x和Python 3.x进行选择,因为基本上两个版本都有全量的库支持。
然而,Python 2.x将在2020年结束开发周期(包括重要安全补丁),所以在Python 2.7下创建新项目并不是个好主意。因此,本书将使用Python 3.6,该稳定版部署更为广泛、支持更为友好。我们将Python 2.7称为“传统Python”,将Python 3.x简称为“Python”。我推荐你也这么做。
本书使用Python 3.6作为基础,你的Python版本可能比3.6更新,但本书的代码示例应该是向前兼容的。部分代码示例可能会有不同的运行结果,或者无法在Python 2.7中运行。

1.4.6 集成开发环境和文本编辑器

当被问及我的标准开发环境时,我会回答说“IPython加文本编辑器”。通常,我会在IPython或Jupyter notebook中写一段代码,然后迭代测试、调试。这种方式有助于在交互情况下操作数据,并可以通过肉眼确认特定数据集是否做了正确的事。像pandas和NumPy库都被设计为适合在命令行下使用。
然而,当开发软件时,一些用户可能倾向于使用功能更为丰富的集成开发环境(IDE),而不是功能相对简单的文本编辑器比如Emacs或Vim。下面介绍一些IDE:
· PyDev(免费),基于Eclipse平台的IDE
· PyCharm, Jetbrains公司开发(对商业用户收费,对开源用户免费)
· Python Tools for Visual Studio(适合Windows用户)
· Spyder(免费), Anaconda集成的IDE
· Komodo IDE(收费)
由于Python十分流行,大多数文本编辑器,比如Atom和Sublime Text 2都对Python有较好的支持。
1.5 社区和会议
除了网络搜索,科学、数据相关的Python邮件列表对于解决问题也非常有帮助。可以看看下列邮件列表:
· pydata:与数据分析和pandas相关的谷歌群组列表
· pystatsmodels:与statsmodels和pandas相关的问题
· scikit-learn邮件列表(scikit-learn@python.org)以及Python机器学习相关内容
· numpy-discussion: NumPy相关问题
· scipy-user:与SciPy或科学相关的Python问题

我有意不给出上述邮件列表的URL以免以后发生变更,这些URL很容通过互联网搜索找到。
每年全世界都会举办很多Python编程者会议。如果你想联系其他和你有共同爱好的Python编程人士,建议你在可能的情况下尝试参加一个会议。很多会议会为没有能力负担入场费或旅行费的人士提供经济支持。以下会议可供考虑:
· PyCon和EuroPython:北美和欧洲的两大主要Python会议
· SciPy和EuroSciPy:北美和欧洲面向科学计算的会议
· PyData:全世界范围内一系列区域性的会议,主题为数据科学和数据分析用例
· 国际和地区性的PyCon会议(参见http://pycon.org上的完整列表)

1.6 快速浏览本书

如果你从未使用Python编程,你需要在第2章和第3章上花些时间,这两章我提供了一份关于Python语言特征、IPython命令行和Jupyter notebook的教程。这些内容是本书后续章节所需的预备知识。如果已经有Python经验,你可以跳过这两章。

下一章,我会简单介绍NumPy的关键特性,并在附录A中提供高级的NumPy使用技术。之后,我会介绍pandas,并将本书后续内容集中于应用pandas、NumPy和matplotlib(可视化)进行数据分析的主题上。我已经尽可能地按照递增的方式来组织全书的内容,但在部分章节中偶尔还是会有些细微的交叉,比如一些还不需要引入概念的独立场景。
尽管读者们可能会有很多不同的工作目的,但工作任务大体上会分为以下几个部分。
与外部世界交互
读写各种格式的文件以及数据存储
准备
对分析数据进行清洗、处理、联合、正态化、重组、切片、切块和转换
转换
将数学或统计操作应用到数据集的分组上以产生新的数据集(例如通过分组参数对一张大表进行聚合)
建模和计算
将数据接入到统计模型、机器学习算法和其他计算工具上
演示
创建动态或静态的图形可视化或文字概述