1.Numpy的发展历程
NumPy 是一个 Python 包。 它代表 “Numeric Python”。
Numeric,即 NumPy 的前身,最早是由Jim Hugunin与其它协作者共同开发,2005年,Travis Oliphant在Numeric中结合了另一个同性质的程序库Numarray的特色,并加入了其它扩展而开发了NumPy。NumPy为开放源代码并且由许多协作者共同维护开发。
2.Numpy的官方介绍
Numpy的官方网站是http://www.numpy.org/,根据官方网站的介绍:通俗的讲:
NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,计算性能比Python自带的数据结构处理更加高效,操作更加方便,功能的组合包装也更加丰富,同时也针对数组运算提供大量的数学函数库。简而言之,Numpy包装了对一维数组结构、二维数据结构、多维数据结构的操作方法。同时Numpy也是其它Python库的底层库,比如Scipy、Pandas。
3.Numpy能做什么?
python在拥有Numpy之后,就可以将数组创建以及进行数组处理的分析工作交给Numpy来完成,这是我们使用Numpy的主要功能点。使用NumPy,开发人员可以执行以下操作:
数组的算数和逻辑运算。
傅立叶变换和用于图形操作的例程。
与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。
NumPy – MatLab 的替代之一: NumPy 通常与SciPy(Scientific Python)和Matplotlib(绘图库)一起使用。 这种组合广泛用于替代 MatLab,是一个流行的 技术计算平台。 但是,Python 作为 MatLab 的替代方案,现在被视为一种更加现代和完整的编程语言。
NumPy 是开源的,这是它的一个额外的优势。
本文摘自《用Python做科学计算》,版权归原作者所有。
NumPy为Python提供了快速的多维数组处理的能力,而SciPy则在NumPy基础上添加了众多的科学计算所需的各种工具包,有了这两个库,Python就有几乎和Matlab一样的处理数据和计算的能力了。
4.Numpy比Python优势
- 标准安装的Python中用列表(list)可以用来当作数组使用,但是列表中所保存的是对象(任意对象)的指针。对于数值运算来说这种结构显然比较浪费内存和CPU计算时间。Python还提供了一个array模块,array对象和列表不同,它直接保存数值。但是由于它只支持一维数组,也没有各种运算函数,因此也不适合做数值运算。
NumPy提供了两种基本的对象,解决标准Python的不足:
- ndarray(N-dimensional array object)N维数组(简称数组)对象,存储单一数据类型的N维数组
- ufunc(universal function object)通用函数对象,对数组进行处理的函数。