Numpy 是什么?
NumPy(Numerical Python的缩写)
- 一个开源的 Python 科学计算库
- 使用 Numpy 可以方便的使用数组、矩阵进行计算.包含线性代数、傅里叶变换、随机数生成等大量函数
它提供了一个强大的N维数组对象(ndarray),用于存储和处理大型数据集,以及用于操作这些数组的各种工具。NumPy最初由Travis Olliphant于2005年创建,旨在提供一种Python中的替代方法,以便更轻松地执行数学、科学和工程计算任务。由于其易于使用、广泛的应用和活跃的社区支持,NumPy已成为Python生态系统中最重要的库之一。
为什么使用 Numpy ?
对于同样的数值计算任务,使用 Numpy 比直接编写 Python 代码实现,优点:
- 代码更简洁: Numpy 直接以数组、矩阵为粒度计算并且支持大量的数学函数,而 Python 需要用 for 循环从底层实现;
- 性能更高效: Numpy 的数组存储效率和输入输出计算性能,比 Python 使用 List 或者嵌套 List 好很多;
- 注:( Numpy 的数据存储和 Python 原生的 List 是不一样的)
- 注: Numpy 的大部分代码都是 C 语言实现的,这是 Numpy 比纯 Python 代码高效的原因;
Numpy 是 Python 各种数据科学类库的基础库
- 比如 SciPy 、 Scikit - Learn 、 Tensorflow 、 PaddlePaddle 等
- 如果不会 Numpy ,这些库的深入理解都会遇到障碍
NumPy提供了许多用于创建、操作和转换数组的函数,例如:
- array:创建一维或二维数组对象。
- arange:创建指定范围内的数组。
- linspace:创建等差数列。
- ones:创建值全为1的数组。
- zeros:创建值全为0的数组。
- empty:创建一个数组,数组的初始值是不确定的。
- full:创建一个数组,形状和填充值由参数指定。
NumPy最常用于以下几个领域:
- 向量化操作:NumPy支持向量化操作,可以在数组上执行相同的操作,而无需使用显式的循环。这种向量化操作利用了底层的优化实现,避免了Python解释器的开销,从而提高了执行速度。相比之下,原生Python需要逐个元素进行循环操作,效率较低。
- 内存管理:NumPy的数组是连续存储在内存中的,可以通过直接引用内存块来进行计算,避免了Python中对象引用的开销。这种连续存储和引用的方式在内存访问上更加高效,可以提升计算速度。而原生Python的列表是由多个对象组成,每个对象都需要额外的内存来存储元素信息和引用,导致内存占用更大。
- 底层优化:NumPy的底层实现使用了C语言,其中许多关键操作都是通过高效的数据结构和算法来实现的,从而提高了计算性能。
怎样安装 Numpy ?
如果安装的是 anaconda ,则自带了 numpy :
Anaconda 是 Python 最流行的一个已经集成了非常多类库的安装包
不论是学习、实验、线上部署
Anaconda 当前都是使用 Python 的首选安装环境
官网地址:https://www.anaconda.com/
如果安装的是官网的 Python ,则可以用 pip 安装 Numpy
在命令行下使用 pip install numpy 即可安装
验证是否安装了 Numpy ,
进入 Python 命令行输入 import numpy as np ,如果没报错则安装成功