Python中用max()、sum()等函数处理矩阵时,axis参数的作用

a = array([[ 1.,  2.,  3.,  4.],
       [ 5.,  6.,  7.,  8.],
       [ 9., 10., 11., 12.]])
np.max(a, axis=1) #取每行的最大值
>>>array([ 4.,  8., 12.])
np.max(a, axis=0) #取每列的最大值
>>>array([ 9., 10., 11., 12.])

sum()

a = np.array([[ 1.,  2.,  3.,  4.],
       [ 5.,  6.,  7.,  8.],
       [ 9., 10., 11., 12.]])
cal = a.sum(axis=0) #每列各自求和 cal = [15,18,21,24]
a/cal.reshape(1,4) #a是3*4维,cal是1*4维,a每列除以cal那列的值

python中矩阵与向量的加减乘除运算(broadcasting(广播)机制)
若与矩阵参与运算的对象是一个行/列维度相同,另一个维度为1的向量,则不同的维度将按复制法展开(将低维的那个对象展开至高维),然后逐个元素加减乘除(注意乘法也可以)
所以,上面的那种不同维度矩阵相除,包括向量和常数运算都是可以的
乘法还有矩阵乘法,区别于上方

你可能感兴趣的:(Python中用max()、sum()等函数处理矩阵时,axis参数的作用)