Python科学计算(第2版)
上QQ阅读APP看书,第一时间看更新

第2章 NumPy-快速处理数据

标准的Python中用列表(list)保存一组值,可以用来当作数组使用。但由于列表的元素可以是任何对象,因此列表中保存的是对象的指针。这样的话,为了保存一个简单的列表,比如[1,2,3],需要三个指针和三个整数对象。对于数值运算来说,这种结构显然比较浪费内存和CPU计算时间。

此外,Python还提供了array模块,它所提供的array对象和列表不同,能直接保存数值,和C语言的一维数组类似。但是由于它不支持多维数组,也没有各种运算函数,因此也不适合做数值运算。

NumPy的诞生弥补了这些不足,NumPy提供了两种基本的对象:

●ndarray:英文全称为n-dimensional array object,它是存储单一数据类型的多维数组,后统一称之为数组。

●ufunc:英文全称为universal function object,它是一种能够对数组进行处理的特殊函数。

本书采用NumPy 1.9版本,请读者运行下面的程序以查看NumPy的版本号:

    import numpy
    numpy.__version__
    '1.9.0'