numpy

1、array A第i行第j列元素:A[i][j]

2、np.zeros((n, m));np.randm.randn(n, m);

3、array A的维度:A.shape(无括号)

4、a.T 点乘 b : np.dot(a, b) 或 np.sum(a * b)

5、np.random.rand():0到1之间;np.random.randn():均值为0,方差为1

6、axis:

 axis = 0:竖直方向相加;axis = 1:水平方向相加

7.np.max 与np.maximum区别:

max取一个数组里的最值,maximum取两者之间较大者。

8.mat和array的区别:

mat只能是二维的,而array可以是多维的。

mat * 是点积运算,b**2是b和b点积,数乘用np.multiply。而array * 是数乘,np.dot才是点积。

9、cv2的imread读取图像:

返回numpy的ndarray类型数组。

10、resize和reshape:

resize直接改变原数组,无返回值;

reshape不改变原数组,返回新数组。

11、np.expand_dims(x, axis):

axis是指插入该轴后,这个轴对应的1位于x.shape的第几个位置。

例如:

扩充维度,并在该维度复制:用 repeat 函数

12、对数组取整

四舍五入:np.round(a),返回的是浮点数。

直接取整:a.astype(int).

四舍五入并取整:np.round(a).astype(int)

 13、数组索引也可以并行化

例如,img 是一个三维数组,值在0~255之间,直方图均衡化时,需要对img按照像素值进行转换,

转换数组transfer_map是 size 为256的一维数组,将一个像素值映射到另一个像素值。

可以看到,上面的向量化实现方式要快100倍。

原文地址:https://www.cnblogs.com/lxc1910/p/10196461.html