numpy数组的 常用属性:
.ndim :维度
>>> a =np.array([[1, 1, 1],[1, 1, 1]])
>>> a.ndim
2
.shape :各维度尺寸组成的元组
>>> a.shape
(2, 3)
.size :元素的个数
>>> a.size
6
.dtype :元素类型
>>> a.dtype
dtype('int32')
.itemsize :每个元素的字节数
>>> a.itemsize
4
数组的创建:
np.arange([start,] stop[, step,], dtype=None) : 略(前面某篇介绍过)
np.linspace(start,stop,num=50,endpoint=True,retstep=False, dtype=None) : 略
np.logspace(start,stop,num=50,endpoint=True,base=10.0, dtype=None) : 略
np.zeros(shape, dtype=float, order='C'): 全为0.
np.ones(shape, dtype=float, order='C'): 全为1.
np.eye(N, M=None, k=0, dtype=<class 'float'>, order='C') :返回主对角线为1,其余元素全为0的数组。N为行数,M为列数。用通过K设置相对于主对角线的偏移量(右上为正,左下为负)
>>> np.eye(3)
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
>>> np.eye(3,2)
array([[1., 0.],
[0., 1.],
[0., 0.]])
[0., 0., 1.]])
>>> np.eye(2,3)
array([[1., 0., 0.],
[0., 1., 0.]])
>>> np.eye(5,k=1)
array([[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.],
[0., 0., 0., 0., 0.]])
np.full(shape, fill_value, dtype=None, order='C') : 元素全为fill_value
>>> np.full((2, 2), np.inf)# inf表示正无穷
array([[ inf, inf],
[ inf, inf]])
>>> np.full((2, 2), 10)
array([[10, 10],
[10, 10]])
np.ones_like(a) : 按数组a的形状生成元素全为1的数组 np.zeros_like(a): 按数组a的形状生成元素全为1的数组
np.full_like (a, val) : 按数组a的形状生成元素全为val的数组
concatenate((a1, a2, ...), axis=0, out=None) : 在指定的轴上串接各数组
>>> a = np.array([[1, 2], [3, 4]])
>>> b = np.array([[5, 6]])
>>> np.concatenate((a, b), axis=0)
array([[1, 2],
[3, 4],
[5, 6]])
>>> np.concatenate((a, b.T), axis=1)#b.T表示b的转置
array([[1, 2, 5],
[3, 4, 6]])
>>> np.concatenate((a, b), axis=None)
array([1, 2, 3, 4, 5, 6])
数组的维度变换:
.reshape(shape) : 不改变当前数组,依shape生成 .resize(shape) : 改变当前数组,依shape生成 .swapaxes(ax1, ax2) : 将两个维度调换
>>> a = np.array([[1, 2], [3, 4]])
>>> a
array([[1, 2],
[3, 4]])
>>> a.swapaxes(0,1)
array([[1, 3],
[2, 4]])
.flatten() : 对数组进行降维,返回折叠后的一维数组
>>> a = np.array([[1, 2], [3, 4]])
>>> a.flatten()
array([1, 2, 3, 4])
数组的类型变换:
数据类型的转换 :a.astype(new_type) : eg, a.astype (np.float) 数组向列表的转换: a.tolist()
>>> a = np.array([[1, 2], [3, 4]])
>>> a.tolist()
[[1, 2], [3, 4]]
数组的索引和切片:略
数组的运算:
np.abs(a) 和 np.fabs(a) :返回数组a 个元素取绝对值后的数组
>>> a = np.array([[-1, -2], [3, -4]])
>>> np.abs(a) array([[1, 2], [3, 4]]) >>> np.fabs(a) #元素为浮点数 array([[1., 2.], [3., 4.]])
np.sqrt(a) : 计算各元素的平方根
>>> a = np.array([[-1, -2], [3, -4]])
>>> np.sqrt(a)
array([[1. , 1.41421356],
[1.73205081, 2. ]])
np.square(a) : 计算各元素的平方
np.log(a) np.log10(a) np.log2(a) : 计算各元素的自然对数(e为底)、10、2为底的对数
np.ceil(a) np.floor(a) : 计算各元素的ceiling 值, floor值(ceiling向上取整,floor向下取整) np.rint(a) : 各元素 四舍五入 np.modf(a) : 将数组各元素的小数和整数部分以两个独立数组形式返回 np.exp(a) : 计算各元素的指数值 np.sign(a) : 计算各元素的符号值 1(+),0,-1(-) a.max(axis=None, out=None, keepdims=False) :在给点轴上计算最大值
>>> a = np.array([[1, 2], [3, 4]])
>>> a.max()
4
>>> a.max(axis = 0)
array([3, 4])
>>> a.max(axis =1)
array([2, 4])
a.min(axis=None, out=None, keepdims=False) :计算最小值
np.max(a), np.min(a) : 功能,参数同a.max() 和a.min()
np.mod(a, b) : 元素级的模运算 np.copysign(a, b) : 将b中各元素的符号赋值给数组a的对应元素
>>> a = np.array([[-1, 2], [-3, 4]])
>>> b = np.array([[5, 6], [7, 8]])
>>> np.copysign(a, b)
array([[1., 2.],
[3., 4.]])
>>> np.copysign(b, a)
array([[-5., 6.],
[-7., 8.]])
本文分享自 Python可视化编程机器学习OpenCV 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!