关于axis的计算可查看https://blog.csdn.net/qq_36829091/article/details/83444697
下面阐述对去括号[]的一点个人理解
解析:
当keepdims为false时代表需要去掉多余的括号,那么去掉的是哪个括号呢。
这个去掉的括号是axis代表的层级。
- 当axis为0去掉第0层(最外层)的括号,也就是图中红色的括号
- 当axis为1去掉第1层(中间层)的括号,也就是图中橙色的括号
- 当axis为1去掉第2层(最内层)的括号,也就是图中蓝色的括号
代码:
import numpy as np
temp = np.array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]])
print("-------axis=None-------")
arr1 = np.sum(temp,axis= None, keepdims=True)
print(arr1)
print("----")
arr2 = np.sum(temp)
print(arr2)
print("-------axis=0-------")
arr3 = np.sum(temp, axis= 0, keepdims=True)
print(arr3)
print("----")
arr4 = np.sum(temp, axis= 0)
print(arr4)
print("-------axis=1-------")
arr5 = np.sum(temp, axis= 1, keepdims=True)
print(arr5)
print("----")
arr6 = np.sum(temp, axis= 1)
print(arr6)
print("-------axis=2-------")
arr7 = np.sum(temp, axis= 2, keepdims=True)
print(arr7)
print("----")
arr8 = np.sum(temp, axis= 2)
print(arr8)
输出:
-------axis=None-------
[[[28]]]
----
28
-------axis=0-------
[[[ 4 6]
[ 8 10]]]
----
[[ 4 6]
[ 8 10]]
-------axis=1-------
[[[ 2 4]]
[[10 12]]]
----
[[ 2 4]
[10 12]]
-------axis=2-------
[[[ 1]
[ 5]]
[[ 9]
[13]]]
----
[[ 1 5]
[ 9 13]]