Numpy操作:
- 数组的算术和逻辑运算
- 傅里叶变换和图形操作
- 与线性代数有关的操作,numpy拥有线性代数和随机数生成的内置函数。
为了提高运算效率,ndarry数组值的类型默认相同,创建时自动指定默认数据类型(内存占用大的)。
numpy方法
np.dtype |
当前numpy数据的整体数据类型 |
np.itemsize | np对象中每个元素的占用空间大小,单位字节 |
np.size | 对象元素的总个数,np.shape=(3,5)则为15个 |
np.shape | np的各个维度的大小,如(3,5) |
np.ndim | np的总维度,如2维 |
np.isnan(list) | 筛选出nan值 |
np.mat | 将python列表转换为ndarry对象 |
np.I | 矩阵求逆 |
np.T | 矩阵转秩 |
np.multiply(x,y) | 矩阵x,y相乘 |
np.arange | 同range |
np.aragne(24).reshape((3,4) | |
np.linspace(x,y,z) | 等间距生成,x起始,y终止,z为步长 |
np.full([x,y],z) |
生成x行y列都是z的数组 |
np.random.rand(x,y,z) | 表示随机数的shape为x,y,z...,参数也可以为空,表示只生成一个随机数 |
np.random.randn(x,y) | 生成正态分布随机数 |
np.random.randint(low,high,(shape)) | 整数随机数 |
np.random.seed(s) | 给一个随机数字固定 |
np.random.shuttle(a) | 从数组a的最外轴进行随机洗牌 |
np.random.choice(a,size=None, replace=False,p=数组a/np.sum(b)) |
从一维数组a中以概率p抽取元素,形成size形状新数组,replace表示是否可以重用元素,默认为False,p为抽取概率,本位置越高,抽取概率越高 |
np.sum(axis=None) |
求和,axis=0表示为列求和,axis为1表示行求和 |
np.argsort() | 返回经过排序以后的矩阵每个元素原始坐标位置 |
np.sort() | 从小到大排序 |
-np.sort() | 从大到小排序 |
np.mean(axis=None) | 求均值 |
np.average() | 加权平均,weights加权值,不设为等权重,例子[10, 5, 1],每列分别X10,X5,X1在/(10+5+1) |
np.var() | 方差,各数与平均数之差的平方的平均数 |
np.std() | 标准差 |
np.min() | 最小值 |
np.max() |
最大值 |
np.argmin() | 求数组中最小值的坐标 |
np.median() | 中位数 |
np.cusum() | 累加 |
np.cumprod() | 累乘 |
np.count_nonzero(arr>0) | 计算数组中非零值个数 |
numpy中提取数据的话可以用[1][0][0]或者[1,0,0]都可以。
Numpy一元函数
运算时足以原数组是否被改变,几乎所有的一元函数都是生成新数组。
abs(),fabs(),sqrt(),square(),log(),log10(),ceil(),floor(),modf(),exp(),sign()
Numpy数组操作
np.transpose() | 翻转给定数组的维度 |
np.T | 类似于transpose |
np.concatenate() | 沿着指定轴向链接相同形状的两个或多个数组 |
np.stack() | 沿着某个轴轴连接数组 |
np.split() | 沿特定的轴将数组分割为子数组 |
np.dot | 两个数组的点积 |
np.vdot | 两个向量的点积 |
np.inner | 两个数组的内积 |
np.matmul | 两个数组的矩阵积 |
np.solve np.inv np.derteminant |
求解线性矩阵方程 寻找矩阵乘法逆矩阵 数组的行列式 |