1 import numpy as np 2 np.random.seed(123) 3 a = np.random.randint(0,5,[3,3,2]) 4 print(a) 5 6 print(a[-1,:,:]) # -1 就是 2
7 #Output: 8 9 [[[2 4] 10 [2 1] 11 [3 2]] 12 13 [[3 1] 14 [1 0] 15 [1 1]] 16 17 [[0 0] 18 [1 3] 19 [4 0]]] 20 [[0 0] 21 [1 3] 22 [4 0]]
axis = 0对应数组最外层,将内层只看成各有一维,即[, , ,] 最外层元素的贯穿
axis=1 对应数组次外层,即[ [], [], []],只分别关注次层,次外层元素的 贯穿
axis = 2 对应数组内层,即[[[]],[[]],[[]]], 最内层元素的 贯穿
axis = -1 对应数组最内层,等价于axis = 2 ,即最内层元素的贯穿处理。
axis = -1 常见用于图像数据增加一维, np.expand_dims(data ,axis = -1) → [ , , , 1]
a.sum(axis = 0) #最低维度,将各层的元素按最外层维度对应相加 2+3+0, 4+1+0
1 #output: 2 array([[5, 5], 3 [4, 4], 4 [8, 3]])
a.sum(axis = 1)# 将自身的每层的元素,在层内对应的倒数第二维度分别相加 2+2+3, 4+1+2
1 #output: 2 array([[7, 7], 3 [5, 2], 4 [5, 3]])
a.sum(axis = 2)# 将每层最内层的元素分别相加 4+2, 3+1,3+2
1 #output: 2 array([[6, 3, 5], 3 [4, 1, 2], 4 [0, 4, 4]])