第1章 Python程序库入门
Python数据分析
首先浏览一下http://www.xmind.net/m/WvfC/页面,从这里可以找到一幅描绘数据分析软件的脑图。很明显,我们不会在本章中安装本书所需的所有软件,而是介绍如何在不同的操作系统上面安装NumPy、SciPy、matplotlib和IPython,同时考察一些使用NumPy库的简单代码。
NumPy是一个基础性的Python库,为我们提供了常用的数值数组和函数。
SciPy是Python的科学计算库,对NumPy的功能进行了扩充,同时也有部分功能是重合的。Numpy和Scipy曾经共享基础代码,后来分道扬镳了。
matplotlib是一个基于NumPy的绘图库。第6章“数据可视化”会对matplotlib库进行详细介绍。
IPython为交互式计算提供了一个基础设施,这个项目最著名的部分就是它的交互式解释器IPython shell。我们将在本章后面介绍IPython shell。对于本书而言,当需要安装软件时,我们会在恰当的时刻给出相应的安装说明。当在安装软件的过程中遇到困难,或者不能断定最佳方案时,可以参考本章最后的部分,它提供了寻找解决问题所需辅助信息的指南。
本章将涉及以下主题。
- 在Windows、Linux和Macintosh系统上面安装Python、SciPy、matplotlib、IPython和NumPy。
- 利用NumPy数组编写简单的应用程序。
- 了解IPython。
- 在线资源和帮助。
1.1 本书用到的软件
本书所用软件都是基于Python语言的,所以必须首先安装Python。不过,对于某些操作系统而言,Python是默认安装的。但是,我们需要检查Python版本与想要安装的软件版本是否兼容。Python具有多种实现,其中包括具有商业版权的实现和发行版。在本书中,我们只关注标准CPython实现,因为它与NumPy完全兼容。
提示:
可以从 https://www.python.org/download/页面下载Python。在这个网站上,我们可以找到为Windows和Mac OS X系统开发的安装程序,以及为Linux、UNIX和Mac OS X系统提供的源码包。
本章需要安装的软件,在Windows、各种Linux发行版本和Mac OS X系统上都有相应的二进制安装程序。当然,如果愿意,也可以使用相应的源代码发行包。对于Python,要求其版本为2.4.x或更高,目前最佳版本为2.7.x,因为大部分的Python科学计算库都支持这个版本。对于Python 2.7版本的支持与维护工作,将延续至2020年,之后,我们不得不迁移到Python 3。
1.1.1 软件的安装和设置
下面学习在Windows、Linux和Mac OS X系统上安装和设置NumPy、SciPy、matplotlib和IPython的详细过程。针对不同的平台,我们会分别加以介绍。
1.1.2 Windows平台
对于Windows系统来说,安装过程非常简单,下载一个安装程序,然后根据向导提示即可完成安装工作。下面给出NumPy的安装步骤,对于其他软件库来说,过程类似。具体过程如下所示:
(1)从SourceForge网站(见表1-1)下载用于Windows系统的安装程序。最新的发行版本会随时间而变化,不过没关系,我们只要选择最适合自己的那个版本就可以。
(2)选择适当的版本。这里选择numpy-1.8.1-win32-superpack-python 2.7.exe。
(3)双击打开这个EXE格式的安装程序。
(4)这时会看到NumPy及其功能的描述信息,继续单击Next按钮。
如果已经安装了Python,会自动检测出来,如果没有检测到,很可能是路径设置有问题。
提示:
本章结尾部分给出了帮助解决NumPy安装问题的相关资料。
(5)如果Python已找到,就单击Next按钮;否则,单击Cancel按钮,然后安装Python(没有Python时是无法安装NumPy的)。注意,单击Next按钮后就无法返回了,所以在此之前最好确认一些事情,如确认当前的安装目录是不是你想要的那个,其他诸如此类。现在,安装正式开始,这可能需要一段时间。
提示:
安装程序的发展非常迅猛,其他的备选品种请参见http://www.scipy.org/install.html。对于安装程序来说,它要求C:Windows目录下存在一个msvcp71.dll文件,你可以根据情况从http://www.dll-files.com/dllindex/dll-
files.shtml?msvcp71页面下载。
1.1.3 Linux平台
在Linux系统上安装本书推荐的软件时,与操作系统本身的发行版本密切相关。如可以从命令行安装NumPy,也可以用图形界面的安装程序来安装,这取决于系统的发行版。安装matplotlib、SciPy和IPython时,用的命令是完全相同的,只不过程序包的名称要有所变化而已。我们建议安装matplotlib、SciPy和IPython,但这不是必需的。
大部分Linux发行版都带有NumPy程序包,可以根据自己的发行版使用相应的命令查看,具体如下所示:
- 对于Red Hat操作系统,可以使用下列命令安装NumPy:
$ yum install python-numpy - 对于Mandriva操作系统,可以使用下列命令安装NumPy:
$ urpmi python-numpy - 对于Gentoo操作系统,可以使用下列命令安装NumPy:
$ sudo emerge numpy - 对于Debian或者Ubuntu操作系统,可以使用下列命令安装NumPy:
$ sudo apt-get install python-numpy
表1-2总结了各种Linux发行版下NumPy、SciPy、matplotlib和IPython程序包的名称。
1.1.4 Mac OS X平台
Mac OS X平台既可以使用具有图形界面的安装程序,也可以通过软件包管理系统(port manager)以命令行方式来安装NumPy、matplotlib和SciPy,这取决于个人喜好。这里有一个先决条件,就是要确保已经安装了XCode,因为它不属于OS X系统的组成部分。我们可以用带有图形用户界面的安装程序来安装NumPy,具体过程如下所示。
(1)首先从http://sourceforge.net/projects/numpy/files/页面下载NumPy的安装程序。实际上,matplotlib和SciPy的安装程序也能从这里下载。
(2)只要把前面URL中的numpy替换为scipy或者matplotlib,就是相应软件包安装程序的下载地址。截至编写本书期间为止,IPython还没有提供图形用户界面的安装程序。
(3)下载相应的DMG文件,通常选择最新的文件。此外,也可以选用SciPy Superpack,下载地址是https://github.com/fonnesbeck/ScipySuperpack。
选择哪一种安装方式并不重要,最重要的是要确保一件事情,即Python库的更新操作不会给之前已安装的那些用到非Apple公司所提供的Python库的软件带来负面影响。关于NumPy、matplotlib和SciPy的部分,具体过程如下所示。
(1)打开DMG文件,本例中为numpy-1.8.1-py2.7-python.org-macosx 10.6.dmg文件。
(2)双击呈打开状的盒子的图标,注意是文件后缀为.mpkg的那个,这时会出现该安装程序的欢迎界面。
(3)单击Continue按钮,来到Read Me界面,这里会看到NumPy的简单说明。
(4)单击Continue按钮,进入License界面。
(5)阅读版权声明,单击Continue按钮,然后在提示接受该声明时,单击Accept按钮。此后,一路按回车键,直到单击Finish按钮便万事大吉了。
此外,也可以使用MacPorts、Fink或者Homebrew来安装这些程序库。下面给出安装这些程序包所需的命令。
对于本书来说,只有NumPy是必需的;对于其他程序库,只要是你不感兴趣的,完全可以忽略。
- 用MacPorts进行安装时,可以使用下列命令:
$ sudo port install py-numpy py-scipy py-matplotlib py-ipython
- Fink也为NumPy提供了许多程序包,如scipy-core-py24、scipy-core-py25和scipy-core-py26;SciPy的程序包有cipy-py24、scipy-py25和scipy-py26。安装针对Python 2.6的NumPy及其他相关程序包的命令如下所示:
$ fink install scipy-core-py26 scipy-py26 matplotlib-py26