Numpy基础命令速查表
概览
创建数组
打印数组
基本运算
形状操作
索引、切片和迭代
线性代数运算
一、概览
数组的维度和数组的秩 数组的维度减去数组的秩等于数组的自由变量的个数
ndarray.ndim #数组的秩,数组的轴的个数
ndarray.shape #数组的维度
ndarray.size #数组的元素的个数
ndarray.dtype #一个用来描述数组中元素类型的对象
ndarray.itemsize #数组中每个元素的字节大小
二、创建数组
np.array([1,2,3])
np.array([[1,2,3],[4,5,6]],dtype=complex) #创建时指定数据类型
np.zeros((3,4)) #创建全为0的数组
np.ones((2,3,4),dtype=int16) #创建全为1的数组
np.empty((2,3)) #创建一个数列。。。
array, zeros, zeros_like, ones, ones_like, empty, empty_like, arange, linspace, rand, randn, fromfunction, fromfile参考:NumPy示例
三、打印数组
当你打印一个数组,NumPy以类似嵌套列表的形式显示它,但是呈以下布局:
最后的轴从左到右打印
次后的轴从顶向下打印
剩下的轴从顶向下打印,每个切片通过一个空行与下一个隔开
一维数组被打印成行,二维数组成矩阵,三维数组成矩阵列表。
四、基本运算
数组的算术运算是按对应元素的。新的数组被创建并且被结果填充
1.单个数组和标量之间的运算
a*3 #加、减、乘、除都会与每个位置上的元素进行计算
2.对单个数组的元素进行运算
- abs 计算绝对值
- sqrt 计算各元素的平方根
- square 计算各元素的平方
- exp 计算各元素的以e为底的指数
- log/log10/log2/log1p log1p是log(1+x)
- sign 计算各元素的正负号
- ceil 计算大于等于该元素的最小整数
- floor 计算小于等于该元素的最大整数
- rint 将该元素四舍五入到最接近的整数
- modf 返回该元素的小数和整数部分,以两个独立数组的形式
- isnan is not a number 判断各元素是否是数字
- isfinite isinf 判断各元素有穷无穷
- cos/sin/tan
- arccos/acccosh/arcsin
3.两个数组之间的运算
a+b a*b 加、减、乘、除都是两个数组对应位置元素的运算
- add 将数组中元素相加
- subtract 第一个数组中元素减去第二个数组中元素
- multiply 数组对应元素相乘
- divide floor_divide 除法、丢弃余数的除法
- power(a,b) 将a中元素计算b中对应元素 a的b次方
- mod 求除法的余数
- copysign 将第二个数组中的元素符号赋值给第一个数组中的值
-
< >= <= == != 比较对应元素的值
- logical_and/logical_or/logical_xor
五、形状操作
1.单一数组的形状操作
a.ravel() #使数组变平,变成一维数组
a.transpose() #数组的转置,但是并不会把装置的结果赋值给a
a.resize(()) #可以指定合适的任意的维度
2.数组间的形状操作
vstack((a,b)) #将两个数组沿着垂直方向拼接
hstack((a,b)) #将两个数组沿着水平方向拼接
3.将一个数组分割成几个小组
hsplit(a,3) #沿着水平方向分割
vsplit() #沿着列方向分割
六、索引、切片和迭代
因为需要具体代码解释,索引和切片参考 利用Python进行数据分析——Numpy基础:数组和矢量计算
七、线性代数运算
注:转置 arr.T
np.dot(arr1,arr2) 两个矩阵的乘积
np.diag 返回对角线元素/或以一维数组转化为以此为对角线的方阵
trace() 计算对角线的和
det 计算f方阵的行列式值
eig 计算特征值和特征向量
inv 计算逆矩阵
pinv 计算伪逆矩阵
qr 计算QR分解
svd 计算奇异值分解
solve 解线性方程Ax=b
lstsq 计算Ax=b的最小二乘解