操作对象是数组,作用是求和
有三个参数,x是数组,axis是求和操作的轴方向,keepdims=True表示求和后保持维度不变
注意轴的概念,当axis不写时,默认求所有矩阵元素的和,返回一个数字;当axis写时而没有keepdims,那么一定会返回一个一维数组
代码:
#注:若没有keepdims= 那么一定会返回一维数组
#记忆方法:若axis=1,则一定返回行数为1的二维行向量,则是列相加
#与cvxpy库应该是一样的
import numpy as np
x = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
a = np.sum(x)
b = np.sum(x, axis=1)#把每一行的3个列向量压缩,即对列向量求和,返回一个一维数组
c = np.sum(x, axis=1, keepdims = True)
#keepdims=True的意思是保持数组维度。把列向量压缩后,要保持维度不变,那么还要是3行,3*1,二维
d = np.sum(x, axis=0, keepdims = True)
print('a = ',a)
print('b = ',b, 'shape = ', b.shape)
print('c = ',c)
print('d = ',d)
结果:
a = 45
b = [ 6 15 24] shape = (3,)
c = [[ 6]
[15]
[24]]
d = [[12 15 18]]