《Python数据分析》一第1章 Python程序库入门1.1 本书用到的软件

本节书摘来自异步社区《Python数据分析》一书中的第1章,第1.1节,作者【印尼】Ivan Idris,更多章节内容可以访问云栖社区“异步社区”公众号查看

第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数据分析》一第1章 Python程序库入门1.1 本书用到的软件

如果已经安装了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程序包的名称。


《Python数据分析》一第1章 Python程序库入门1.1 本书用到的软件

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
上一篇:python字符串操作实方法大合集


下一篇:Python解释器和IPython