NumPy可以在硬盘中将数据以二进制或者文本的形式进行存入硬盘和在硬盘中读取。主要是使用np.save和np.load对硬盘数据进行高效的存取。也可以使用np.savez将数组作为参数传递给函数,用于在未压缩文件中保存数组,不过对这种文件使用np.load函数得到的将是一个字典型的对象。
1 | import numpy as np |
NumPy的线性代数中所不同的是 * 表示矩阵的逐元素乘积,而不是矩阵的点积。因此numpy的ndarray对象以及numpy模块都提供了一个函数dot,用来计算点积。特殊符号@也可以作为中缀操作符,表示点积,numpy.linalg拥有一个矩阵分解的标准函数集。常用的numpy.linalg函数如下:
函数 | 描述 |
---|---|
diag | 将一个方阵的对角元素作为一维数组返回 |
dot | 矩阵点乘 |
trace | 求矩阵的迹 |
det | 计算行列式 |
eig | 计算特征值和特征向量 |
inv | 计算方阵的逆矩阵 |
pinv | 计算Moore-Penrose伪逆 |
qr | qr分解 |
svd | 奇异值分解 |
solve | 求解x的线性系统Ax=b,其中A是方阵 |
lstsq | 计算Ax=b的最小二乘解 |
NumPy中的random模块弥补了Python内建的random模块的不足,可以高效的生成多种概率分布下的完整样本值数组。你可以通过numpy.random.seed更改NumPy的随机数种子。下表是numpy中的random模块中的部分函数列表:
函数 | 描述 |
---|---|
seed | 指定随机种子 |
permutation | 返回一个序列的随机排列,或者返回一个乱序的整数范围序列 |
shuffle | 随机排列一个序列 |
rand | 从均匀分布中抽取样本 |
randint | 根据给定的由低到高的范围抽取整数 |
randn | 从均值0方差1的正态分布中抽取样本 |
binomial | 从二项分布中抽取样本 |
normal | 从正态分布中抽取样本 |
beta | 从beta分布中抽取样本 |
chisquare | 从卡方分布中抽取样本 |