zoukankan      html  css  js  c++  java
  • numpy数组的维度操作和axis的对应关系

     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]])
    
    
  • 相关阅读:
    作业2 身份认证(正心13)
    ubuntu16内核升级过程遇到的问题
    「」
    「loj
    「一个经典问题的另一个推导方法」
    「loj
    「XXI Opencup GP of Tokyo」 Count Min Ratio
    「codeforces
    「codeforces
    「Dominator Tree」
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725249.html
Copyright © 2011-2022 走看看