import numpy as np
x = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
add = np.sum(x)
add_axis = np.sum(x, axis=1)
add_keepdims = np.sum(x, axis=1, keepdims = True)
print('add = ',add)
print('add_axis_1 = ',add_axis, 'shape = ', add_axis.shape)
print('add_axis_1_keepdims = ',add_keepdims)
以上代码输出的结果如下所示:
>add = 45
>add_axis_1 = [ 6 15 24] shape = (3,) #注意这里的shape
>add_axis_1_keepdims = [[ 6]
[15]
[24]]
可以看出,
- np.sum是对数组的全部元素求和
- 令axis = 1,是对列向量进行降维操作,把列向量压缩即是对数组的行向量求和,得出的结果不具有维度,是标量
- keepdims = 1,是保持数组维度,在这个例子中所以是对列向量进行压缩,所以,应该还是3行,正如结果所示,得到的是3*1的结果
import numpy as np
x = np.array([[1,2,3],