Numpy 简介
NumPy
是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!
NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。
NumPy 官网: http://www.numpy.org/
点击查看如图:
Numpy 应用场景
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
- 一个强大的N维数组对象 ndarray
- 广播功能函数
- 整合 C/C++/Fortran 代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
Numpy 优点
- 同样的数值计算,使用Numpy要比编写python代码便捷很多。
- Numpy中数组的存储效率和输入输出性能远远优于python,提升的性能和数组元素个数成正比。
- Numpy的大部分代码是C语言,底层算法在设计时有着优异的性能,使得Numpy比纯python更加高效。
Numpy 缺点
- Numpy使用内存映射文件,能够达到更优的数据读写性能,内存的大小限制了对其TB级别大文件的处理。
- Numpy数组的通用性不及python提供的list容器,科学计算之外的领域,优势并不明显。
相关链接
NumPy 源代码:https://github.com/numpy/numpy
SciPy 官网:https://www.scipy.org/
SciPy 源代码:https://github.com/scipy/scipy
Matplotlib 官网:https://matplotlib.org/
Matplotlib 源代码:https://github.com/matplotlib/matplotlib
现在开始我们的Numpy
学习之旅吧!