Numpy随机函数
# 指定随机数种子,相同的随机数种子,生成相同的随机数
np.random.seed(10)
# 生成服从标准正态的随机数,shape 为 (3, 4, 5),常用
np.random.randn(3, 4, 5)
# 生成 0 到 1 之间随机浮点数,shape 为 (3, 4, 5)
np.random.rand(3, 4, 5)
# 根据 shape 生成 x 到 y 之间随机整数
np.random.randint(x, y, shape)
# 产生具有正态分布的数组,loc 均值,scale 标准差,size 数量
np.random.normal(loc, scale, size)
# 产生具有均匀分布的数组,low 起始值,high 结束值,size 数量
np.random.uniform(low, high, size)
# 产生具有泊松分布的数组,lam 随机事件发生率,size 数量
np.random.poisson(lam, size)
Numpy 数组信息
# 各个维度的长度,是个元组
a.shape
# 维度数,等同 `len(a.shape)`
a.ndim
# 所有维度的总元素数量,即所有维度相乘
a.size
# 元素的类型
a.dtype
# 元素类型占用大小
a.itemsize
# 所有数据占用的大小,字节为单位,等于 a.size*a.itemsize
a.nbytes
Numpy 统计学函数
# 返回 a 去重后的数组,类似 set()
np.unique(a)
# 返回数组 a 最大值
np.max(a)
# 返回数组 a 最小值
np.min(a)
# 返回数组 a 最大值的降成一维后的索引
np.argmax(a)
# 返回数组 a 最小值的降成一维后的索引
np.argmin(a)
# 返回 a 中最大值与最小值的差
np.ptp(a)
# 返回 a 中元素的中位数
np.median(a)
# 计算相关元素之和
np.sum(a)
# 计算相关元素的期望
np.mean(a)
# 计算相关元素的加权平均值
np.average(a, weights)
# 计算相关元素标准差
np.std(a)
# 计算相关元素方差
np.var(a)
# 以一维数组的形式返回矩阵的对角线(左上到右下)元素
np.diag(a)
# 计算对角线(左上到右下)元素的和,即迹
np.trace(a)
# 如果 a 中所有元素都为真,就返回 True,否则 False
np.all(a)
# 如果 a 中有任一元素都为真,就返回 True,否则 False
np.any(a)
Numpy 重要数学函数
一元:
# 求数组各元素的绝对值
np.abs(x)
# 求数组各元素的绝对值
np.fabs(x)
# 求数组各元素的平方根
np.sqrt(x)
# 求数组各元素的平方
np.square(x)
# 求数组各元素的自然对数
np.log(x)
# 求数组各元素的 2 底对数
np.log2(x)
# 求数组各元素的 10 底对数
np.log10(x)
# 求数组各元素的 ceiling 值
np.ceil(x)
# 求数组各元素的 floor 值
np.floor(x)
# 求数组各元素的四舍五入值
np.rint(x)
# 将数组各元素的整数和小数部分以两个独立数组形式返回
np.modf(x)
# 求数组各元素的 cos 值
np.cos(x)
# 求数组各元素的 sin 值
np.sin(x)
# 求数组各元素的 tan 值
np.tan(x)
# 求数组各元素的 e^n 值
np.exp(x)
# 求数组各元素的符号值,1(+),0,-1(-)
np.sign(x)
# 返回 a 中元素的梯度
np.gradient(a)
二元:
# 两个数组各元素进行比较,取大的那个,返回数组
# a,b 也可以是数字类型
np.maximum(a, b)
# 两个数组各元素进行比较,取小的那个,返回数组
# a,b 也可以是数字类型
np.minimum(a, b)
# 将 b 中各元素的符号赋值给 a 中各元素
np.copysign(a, b)
Numpy 与线性代数
# 矩阵乘法,等同 `A @ b`
np.dot(A, b)
# 计算行列式
np.linalg.det(A)
# 计算矩阵的特征值和特征向量
np.linalg.eig(A)
# 计算矩阵的逆
np.linalg.inv(A)
# 计算矩阵的 Moore-Penrose 伪逆
np.linalg.pinv(A)
# 计算 qr 分解
np.linalg.qr(A)
# 计算奇异值分解
np.linalg.svd(A)
# 解线性方程组 AX=b
np.linalg.solve(A, b)
# 计算 AX=b 的最小二乘解
np.linalg.lstsq(A, b)