python_numpy

NumPy 简介

NumPy 是 Python 中处理多维数组和矩阵的核心库,提供了高效的数组运算功能,是数据科学、机器学习和科学计算的重要工具。

特点:

  1. 多维数组对象 (ndarray):用于存储单一数据类型的矩阵。
  2. 广播机制:支持不同形状数组的运算。
  3. 高效性:使用底层 C 实现的高性能计算。
  4. 丰富的函数库:内置许多数学、统计和线性代数功能。

常用模块与函数

1. 数组创建

这些函数用于创建 NumPy 数组。

函数 描述 示例代码
np.array 从列表或元组创建数组 np.array([1, 2, 3])
np.zeros 创建全零数组 np.zeros((3, 2))
np.ones 创建全一数组 np.ones((2, 2))
np.full 创建指定值填充的数组 np.full((2, 3), 5)
np.eye 创建单位矩阵 np.eye(3)
np.empty 创建未初始化的数组(内容随机) np.empty((2, 3))
np.arange 创建范围数组 np.arange(0, 10, 2)
np.linspace 创建等间隔的值数组 np.linspace(0, 1, 5)
np.random.rand 创建均匀分布随机数组 np.random.rand(2, 3)
np.random.randint 创建随机整数数组 np.random.randint(0, 10, (2, 3))

2. 数组属性与形状

这些函数用于查看或修改数组的属性和形状。

函数 描述 示例代码
.ndim 返回数组维度 a.ndim
.shape 返回数组形状 a.shape
.size 返回数组总元素数 a.size
.dtype 返回数组数据类型 a.dtype
.astype 转换数组数据类型 a.astype('float32')
.reshape 改变数组形状 a.reshape(3, 2)
.ravel 将数组展平为一维 a.ravel()
.T 转置数组 a.T

3. 数学运算

这些函数用于执行数学运算。

函数 描述 示例代码
np.add 数组加法 np.add(a, b)
np.subtract 数组减法 np.subtract(a, b)
np.multiply 数组乘法(元素级) np.multiply(a, b)
np.divide 数组除法(元素级) np.divide(a, b)
np.power 元素幂运算 np.power(a, 2)
np.sqrt 元素平方根 np.sqrt(a)
np.exp 指数函数 np.exp(a)
np.log 自然对数 np.log(a)
np.sin / np.cos 三角函数 np.sin(a)

4. 统计函数

用于计算数组的统计属性。

函数 描述 示例代码
np.sum 求和 np.sum(a)
np.mean 平均值 np.mean(a)
np.median 中位数 np.median(a)
np.std 标准差 np.std(a)
np.var 方差 np.var(a)
np.max / np.min 最大值/最小值 np.max(a)
np.argmax 最大值索引 np.argmax(a)
np.argmin 最小值索引 np.argmin(a)

5. 数组操作

这些函数用于操作数组内容。

函数 描述 示例代码
np.concatenate 拼接数组 np.concatenate((a, b), axis=0)
np.split 分割数组 np.split(a, 2)
np.vstack 垂直堆叠 np.vstack((a, b))
np.hstack 水平堆叠 np.hstack((a, b))
np.flip 翻转数组 np.flip(a)
np.sort 排序 np.sort(a)

6. 条件与过滤

函数 描述 示例代码
np.where 根据条件选择 np.where(a > 2, a, 0)
np.nonzero 返回非零元素索引 np.nonzero(a)
np.unique 获取数组的唯一值 np.unique(a)
np.isin 判断元素是否在列表中 np.isin(a, [1, 2])

7. 线性代数

这些函数用于矩阵运算。

函数 描述 示例代码
np.dot 点积 np.dot(a, b)
np.matmul 矩阵乘法 np.matmul(a, b)
np.linalg.inv 矩阵求逆 np.linalg.inv(a)
np.linalg.det 矩阵行列式 np.linalg.det(a)
np.linalg.eig 特征值和特征向量 np.linalg.eig(a)
np.linalg.norm 矩阵范数 np.linalg.norm(a)

8. 随机数生成

函数 描述 示例代码
np.random.rand 均匀分布随机数 np.random.rand(3, 3)
np.random.randn 标准正态分布随机数 np.random.randn(3, 3)
np.random.randint 随机整数 np.random.randint(0, 10, (2, 3))
np.random.choice 随机采样 np.random.choice(a, 3)