numpy.stack((A,B,C), axis=x)的形象解释

博客通过实例解析numpy.stack函数在axis=0, 1, 2时如何连接矩阵A, B, C,强调了1, 2轴的切割与连接原理,帮助理解三维空间中矩阵的堆叠方式。" 106627039,9619999,iOS逆向工程:破解微信升级限制,"['ios', '逆向工程', '微信', '应用程序']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们有三个矩阵A,B,C如下:

1.当numpy.stack((A,B,C), axis=0)时,相当于增加一个0轴,把1,2轴(1轴为竖着的边,2轴为横着的边)切割成的矩阵平面用0轴连接起来,就相当于:

 2.当numpy.stack((A,B,C), axis=1)时,相当于增加一个1轴,把1,2轴(1轴为竖着的边,2轴为横着的边)切割成的矩阵平面用0轴连接起来,就相当于:

 

 3.当numpy.stack((A,B,C), axis=2)时,相当于增加一个2轴,把1,2轴(1轴为竖着的边,2轴为横着的边)切割成的矩阵平面用0轴连接起来,就相当于: 

始终是用1,2轴组成的平面去切割这个立方体,不同的就只是看新增加的轴在哪里了。

python代码:

import numpy as np

A = np.arange(12).reshape((3,4))
B = np.arange(12,24).reshape((3,4))
C = np.arange(24,36).reshape((3,4))
print('matrix A:')
print(A)
print('matrix B:')
print(B)
print('matrix C:')
print(C)
print('stack axis=0'+'.'*30)
D0 = np.stack((A,B,C), axis=0)
print(D0)
print('stack axis=1'+'.'*30)
D1 = np.stack((A,B,C), axis=1)
print(D1)
print('stack axis=2'+'.'*30)
D2 = np.stack((A,B,C), axis=2)
print(D2)
matrix A:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
matrix B:
[[12 13 14 15]
 [16 17 18 19]
 [20 21 22 23]]
matrix C:
[[24 25 26 27]
 [28 29 30 31]
 [32 33 34 35]]
stack axis=0..............................
[[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]

 [[24 25 26 27]
  [28 29 30 31]
  [32 33 34 35]]]
stack axis=1..............................
[[[ 0  1  2  3]
  [12 13 14 15]
  [24 25 26 27]]

 [[ 4  5  6  7]
  [16 17 18 19]
  [28 29 30 31]]

 [[ 8  9 10 11]
  [20 21 22 23]
  [32 33 34 35]]]
stack axis=2..............................
[[[ 0 12 24]
  [ 1 13 25]
  [ 2 14 26]
  [ 3 15 27]]

 [[ 4 16 28]
  [ 5 17 29]
  [ 6 18 30]
  [ 7 19 31]]

 [[ 8 20 32]
  [ 9 21 33]
  [10 22 34]
  [11 23 35]]]
[Finished in 0.3s]

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值