对python中axis的理解

对 p y t h o n 中 a x i s 的 理 解 对python中axis的理解 pythonaxis

axis的实际含义是根据axis指定的维度进行连接,如矩阵m1的维度为(2,3), 那么axis=0就代表了第一个维度‘2’,
因此,将m1和m2按照第一个维度进行连接,得到的新的矩阵就是将第一维度进行相加,其余维度不变,即维度变成了(4,3).
同理,axis=1时就是将矩阵的第二维度进行合并,其余维度不变,即维度变成了(2,6)。

axis的值也可以设置为负数,如axis=-1实际上就是指倒数第一个维度

numpy中axis参数说明:
axis=i,即沿着数组第i个下标变化方向进行操作。遍历完第i个下标所有的变化,求一次值。
axis=(i,j),即沿着数组第i和第j两个下标变化方向`进行操作。


a = np.array(
    [
        [
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
            
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
    
               [[1, 2, 3, 3], 
                [3, 4, 3, 3]],
         ],  
         [
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
            
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
    
               [[1, 2, 3, 3], 
                [3, 4, 3, 3]],
         ],
        [
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
            
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
    
               [[1, 2, 3, 3], 
                [3, 4, 3, 3]],
         ],
        [
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
            
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
    
               [[1, 2, 3, 3], 
                [3, 4, 3, 3]],
         ],
        [
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
            
              [[1, 2, 3, 3], 
               [3, 4, 3, 3]],
    
               [[1, 2, 3, 3], 
                [3, 4, 3, 3]],
         ],
    ]
)
a.shape

在这里插入图片描述

a[x,y,w,z]

数组a有四个轴分别是x,y,w,z轴,这四个轴也分别叫第0轴、第1轴、第2轴和第3轴。

当axis=0,即沿着第0个轴x下标变化的方向进行求和,第0轴降维,得到的shape=(3,2,4)

print(a.sum(axis=0))
print(a.sum(axis=0).shape)

在这里插入图片描述

沿着第0个轴x下标变化的方向进行

a[0][0][0][0]+a[1][0][0][0]+a[2][0][0][0]+a[3][0][0][0]+a[4][0][0][0] = 1+1+1+1+1 = 5
a[0][0][0][0]+a[1][0][0][0]+a[2][0][0][0]+a[3][0][0][0]+a[4][0][0][0] = 1+1+1+1+1 = 5
a[0][0][0][1]+a[1][0][0][1]+a[2][0][0][1]+a[3][0][0][1]+a[4][0][0][1] = 2+2+2+2+2 = 10
a[0][0][0][2]+a[1][0][0][2]+a[2][0][0][2]+a[3][0][0][2]+a[4][0][0][2] = 3+3+3+3+3 = 15
...

当axis=1,即沿着第1个轴y下标变化的方向进行求和,第1轴降维,得到的shape=(5,2,4)

print(a.sum(axis=1))
print(a.sum(axis=1).shape)

在这里插入图片描述

当axis=2,即沿着第1个轴w下标变化的方向进行求和,第2轴降维,得到的shape=(5,3,4)

print(a.sum(axis=2))
print(a.sum(axis=2).shape)

在这里插入图片描述

当axis=3,即沿着第1个轴z下标变化的方向进行求和,第3轴降维,得到的shape=(5,3,2)

print(a.sum(axis=3))
print(a.sum(axis=3).shape)

在这里插入图片描述

当axis=(0, 2, 3),即沿着第0,2,3个轴x,w,z下标变化的方向进行求和,降维,得到的shape=(3),遍历完下标所有的变化,求一次值。

a[5,3,2,4]
a[300,3,32,32]
np.mean(a, axis=(0, 2, 3))
a[x][0][w][z]+a[x][0][w][z]+a[x][0][w][z]+a[x][0][w][z]+a[x][0][w][z] =  5*2*4个数求平均 

a[x][1][w][z]+a[x][1][w][z]+a[x][1][w][z]+a[x][1][w][z]+a[x][1][w][z] =  5*2*4个数求平均

a[x][2][w][z]+a[x][0][w][z]+a[x][2][w][z]+a[x][2][w][z]+a[x][2][w][z]=   5*2*4个数求平均

在这里插入图片描述
在这里插入图片描述

Python,数组的axis参数表示对数组进行操作时所沿着的轴的方向。轴的编号从0开始,表示第一个维度,依次递增。一般情况下,axis的取值为非负数,表示按照指定的轴进行操作。例如,axis=0表示沿着第一个维度进行操作,axis=1表示沿着第二个维度进行操作,以此类推。 然而,由于Python语言的一些特性,我们也可以使用负数作为axis的取值。负数表示从最后一个维度开始计算,例如,axis=-1表示沿着最后一个维度进行操作,axis=-2表示沿着倒数第二个维度进行操作,以此类推。使用负数作为axis的取值可以提供一种更方便的方式来指定轴,避免了对应正负号的困惑。 总结来说,Python数组axis参数用于指定进行操作的轴的方向,可以是非负数或负数。非负数表示从第一个维度开始计算,负数表示从最后一个维度开始计算。根据具体的需求,可以选择合适的axis取值来进行数组的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [深入理解numpy库axispython的轴)](https://blog.csdn.net/qq_34769162/article/details/109295947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python的numpyaxis=0、axis=1、axis=2解释](https://blog.csdn.net/mahoon411/article/details/114777623)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值