NumPy 是 Python 语言的一个扩展程序库。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 是 Python 语言的一个扩展程序库。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。
Numpy 介绍
一个用 python 实现的科学计算,包括:1、一个强大的 N 维数组对象 Array;2、比较成熟的(广播)函数库;3、用于整合 C/C++和 Fortran 代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy 和稀疏矩阵运算包 scipy 配合使用更加方便。
NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA 用其处理一些本来使用 C++,Fortran 或 Matlab 等所做的任务。
NumPy 的前身为 Numeric ,最早由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。
Numpy 特色
NumPy 参考 CPython(一个使用字节码的解释器),而在这个 Python 实现解释器上所写的数学算法代码通常远比编译过的相同代码要来得慢。为了解决这个难题,NumPy 引入了多维数组以及可以直接有效率地操作多维数组的函数与运算符。因此在 NumPy 上只要能被表示为针对数组或矩阵运算的算法,其运行效率几乎都可以与编译过的等效 C 语言代码一样快。
NumPy 提供了与 MATLAB 相似的功能与操作方式,因为两者皆为解释型语言,并且都可以让用户在针对数组或矩阵运算时提供较标量运算更快的性能。两者相较之下,MATLAB 提供了大量的扩展工具箱(例如 Simulink);而 NumPy 则是根基于 Python 这个更现代、完整并且开放源代码的编程语言之上。此外 NumPy 也可以结合其它的 Python 扩展库。例如 SciPy,这个库提供了更多与 MATLAB 相似的功能;以及 Matplotlib,这是一个与 MATLAB 内置绘图功能类似的库。而从本质上来说,NumPy 与 MATLAB 同样是利用 BLAS 与 LAPACK 来提供高效率的线性代数运算。