快速指南
NumPy 是什么?
NumPy 是一个 Python 的基础包, 用与科学计算. 它提供了很多数学计算的功能, 其核心是多维数组对象 (multidimensional array objects). 提供的方法包括并不限于线性代数, 数理逻辑, 离散傅里叶变换, 随机模拟等.
NumPy 包的核心是 ndarray 对象. ndarray 是指同类型 (homogeneous) 的 n dimensional array. 其中的核心算法均是编译型的, 目的是为了提高性能. 在 NumPy 的 array 与标准 Python 的序列之间存在一些不同:
- NumPy 的数组是静态数据, 不同于 Python 的动态数组. 在修改
ndarray尺寸后, 会创建一个新数组, 并删除原来的数组. - NumPy 的数组元素必须是同一个类型. 这样在内存中可以保证其尺寸的一致性. 这里有一个特例, 就是 object 类型的元素.
- NumPy 可以使用少的代码, 实现复杂的高性能的计算.
- 越来越多的库开始使用 NumPy. 内置的序列不足以胜任.
内置序列的数学运算需要基于索引来处理每一个元素. 但是 NumPy 直接对 ndarray 进行操作, 实际上会处理每个元素.
通常处理数据是一个个的进行处理, 对列表形式的数据需要借助于循环来实现. numpy 使用内置已编译的 C 代码已经完成可这个操作, 因此更为高效, 对应元素与对应元素的处理是默认行为.
可以简单的理解为:
Numpy默认基于向量进行运算.
为什么 NumPy 很快?
首先是后台是编译后的 C 代码, 性能更高. 然后使用向量化语言, 编码更少, 错误就少. 更加复合数学语言, 不用编码转换.
另外广播的特性使得复杂逻辑实现更为简洁.
安装
安装的文档参考: https://numpy.org/install/
这里整理两个方法: pip 和 conda
使用 pip
pip install numpy
使用 conda
conda create -n my-env # 创建环境
conda activate my-env # 激活环境
conda install numpy # 安装包
打印 NumPy 版本号
import numpy as np
print(np.__version__)